kephra-0.4.3.32+dfsg.orig/0000755000175000017500000000000011633700043014112 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/0000755000175000017500000000000011633700043014660 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra.pm0000644000175000017500000004123011602234551016432 0ustar rizlarizla# See end of file for docs package Kephra; use 5.006; use strict; use warnings; our $NAME = __PACKAGE__; # name of entire application our $VERSION = '0.4.3.32'; # version of entire app our $PATCHLEVEL; # has just stable versions our $STANDALONE; # starter flag for moveable installations our $LOGLEVEL; # flag for benchmark loggings our $BENCHMARK; # Configuration Phase sub load_modules { # -NI = not implemented or used, -DEP = depreciated require Cwd; require Encode; require Encode::Guess; require File::Find; require File::Spec::Functions; require File::UserConfig; require Config::General; # require YAML::Tiny; require Wx; # Core wxWidgets Framework #Wx->import( ':everything' ); # handy while debugging require Wx::AUI; # movable Panel controler require Wx::STC; # Scintilla editor component require Wx::DND; # Drag'n Drop & Clipboard support (only K::File) require Wx::Locale; # not yet in use require Wx::Perl::ProcessStream; # #require Wx::Print; # Printing Support (used only in Kephra::File ) #require Text::Wrap # for text formating # these will used in near future #require Perl::Tidy; # -NI perl formating #require PPI (); # For refactoring support #require Params::Util (); # Parameter checking #require Class::Inspector (); # Class checking # used internal modules, parts of kephra require Kephra::API; # API for most inter modul communication require Kephra::App; # App start & shut down sequence require Kephra::App::ContextMenu; # contextmenu manager require Kephra::App::EditPanel; # Events, marker, visual settings of the EP require Kephra::App::EditPanel::Indicator; # visual marker inside the edit panel require Kephra::App::EditPanel::Fold; # events and visual stuff of 4 EP marigins require Kephra::App::EditPanel::Margin;# events and visual stuff of 4 EP marigins require Kephra::App::MainToolBar; # toolbar below the main menu require Kephra::App::MenuBar; # main menu require Kephra::App::Panel::CommandLine;# require Kephra::App::Panel::TreeTool; # require Kephra::App::Panel::Notepad; # require Kephra::App::Panel::Output; # require Kephra::App::SearchBar; # Toolbar for searching and navigation require Kephra::App::StatusBar; # require Kephra::App::TabBar; # API 2 Wx::Notebook require Kephra::App::Window; # API 2 Wx::Frame and more require Kephra::CommandList; # require Kephra::Config; # low level config manipulation require Kephra::Config::Default; # build in emergency settings #require Kephra::Config::Default::CommandList; #require Kephra::Config::Default::ContextMenus; #require Kephra::Config::Default::GlobalSettings; #require Kephra::Config::Default::Localisation; #require Kephra::Config::Default::MainMenu; #require Kephra::Config::Default::ToolBars; require Kephra::Config::File; # API 2 ConfigParser: Config::General, YAML require Kephra::Config::Global; # API 4 config, general content level require Kephra::Config::Localisation; # load store change localisation require Kephra::Config::Interface; # loading Interface data menus, bars etc require Kephra::Config::Tree; # data tree manipulation require Kephra::Dialog; # API 2 dialogs, fileselectors, msgboxes #require Kephra::Dialog::Color; # color browsing tool #require Kephra::Dialog::Config; # config dialog #require Kephra::Dialog::Exit; # select files to be saved while exit program #require Kephra::Dialog::Info; # info box #require Kephra::Dialog::Keymap; # -NI #require Kephra::Dialog::Notify # inform about filechanges from outside #require Kephra::Dialog::Search; # find and replace dialog require Kephra::Document; # internal doc handling: create, destroy, etc require Kephra::Document::Change; # calls for changing current doc require Kephra::Document::Data; # manage data structure for all docs require Kephra::Document::Property; # user alterable document settings require Kephra::Document::SyntaxMode; # language specific settings require Kephra::Edit; # basic edit menu funktions require Kephra::Edit::Comment; # comment functions require Kephra::Edit::Convert; # convert functions require Kephra::Edit::Format; # formating functions require Kephra::Edit::History; # undo redo etc. require Kephra::Edit::Goto; # editpanel textcursor navigation require Kephra::Edit::Marker; # doc spanning bookmarks require Kephra::Edit::Search; # search menu functions require Kephra::Edit::Search::InputTarget; # enables darg n drob for comboboxes require Kephra::Edit::Select; # text selection require Kephra::Edit::Special; # collector of unsorted require Kephra::EventTable; # internal app API require Kephra::File; # file menu functions require Kephra::File::History; # list of recent used Files require Kephra::File::IO; # API 2 FS, read write files require Kephra::File::Session; # file session handling require Kephra::Help; # help docs system require Kephra::Macro; # macro recorder, creation, replay require Kephra::Menu; # base menu builder require Kephra::Plugin; # plugin manager require Kephra::Plugin::Demo; # cookbook for plugin authors require Kephra::ToolBar; # toolbar builder base } sub configdir { $_[0] and $_[0] eq $NAME and shift; File::UserConfig->configdir(@_); } sub import { #@_; } sub start { load_modules(); my $basedir; # $ENV{HOME}; # set locations of boot files my $config_sub_dir = 'config'; my $help_sub_dir = 'help'; my $start_file = 'autosaved.conf'; my $boot_file = File::Spec->catfile (Kephra::Config::Global::_sub_dir(), $start_file); my $splashscreen = 'interface/icon/splash/start_kephra.jpg'; if ($Kephra::STANDALONE) { $basedir = Cwd::cwd(); $basedir = File::Spec->catdir($basedir, 'share') if $Kephra::STANDALONE eq 'dev'; } else { my $copy_defaults; $basedir = Kephra::configdir(); if (not -d File::Spec->catdir($basedir, $config_sub_dir)) { $copy_defaults = 1 } else { my $boot_file = File::Spec->catfile( $basedir, $boot_file ); if (-r $boot_file) { my $config_tree = Kephra::Config::File::load($boot_file); $copy_defaults = 1 if not defined $config_tree->{about}{version} or $config_tree->{about}{version} ne $Kephra::VERSION; } } #if ($copy_defaults) { #my $dir = File::UserConfig->new(); #if ($^O =~ /(?:linux|darwin)/i) { #for (@INC) { #if (!-d File::Spec->catdir($_, $dir->dist())) { next; } #$dir->{sharedir_} = $_; #last; #} #File::Find::find( sub { #$dir->{sharedir} = $File::Find::dir #if ($File::Find::dir =~ /$dir->{dist}.+$config_sub_dir$/) #}, $dir->{sharedir_} #); #$dir->{sharedir} =~ s/$config_sub_dir$//; #if (!-d $dir->{configdir}) { mkdir($dir->{configdir}); } #File::Copy::Recursive::dircopy #("$dir->{sharedir}*", $dir->{configdir}) || warn("$!"); #File::Find::find(sub{ #if (-d $_) { chmod(0750,$_) } #elsif (-f $_) { chmod(0640,$_) } #},$dir->{configdir} #); #foreach (sort keys %$dir) {print "$_ : $dir->{$_}\n";} exit; #} #} } my $config_dir = File::Spec->catdir($basedir, $config_sub_dir); Kephra::Config::_dir( $config_dir ); #Kephra::App::splashscreen($splashscreen); #use Wx::Perl::SplashFast ( File::Spec->catfile($config_dir, $splashscreen), 150); Kephra::Config::Global::auto_file( File::Spec->catdir($config_dir, $boot_file) ); Kephra::Help::_dir( File::Spec->catdir($basedir, $help_sub_dir) ); #$Kephra::temp{path}{logger} = File::Spec->catdir($basedir, 'log'); # make .pm config files acessable - absolete when real syntax modes work push @INC, $config_dir; Kephra::App->new->MainLoop; # starter for the main app } 1; __END__ =head1 NAME Kephra - crossplatform, GUI-Texteditor along Perl alike Paradigms =head1 SYNOPSIS > kephra [] # start with files already open =head1 DESCRIPTION This module install's a complete editor application with all its configs and documentation for your programming, web and text authoring. =head2 Philosophy =over 4 =item Main Goals A visually harmonic and beautiful, sparing and elegantly programed Editor, that helpes you with all your daily tasks. It should be also able to operate in the way you prefer and be not afraid to try new things. =item In Depth I know, I know, there are plenty text editors out there, even some really mighty IDE, but still no perfect solution for many programmers. So lets =over 2 learn from Perl what it takes to build a tool thats powerful and fun to play with for hours and months. =item * make a low entry barrier (usable like notepad) =item * copy what people like and are used to and whats not inherently broken =item * give choices (TimTowtdi) =over 2 =item * (e.g. deliver vi and emacs input style) =item * usable with menu, contextmenu, bars, mouse combo, key combos, commands ... =item * configure via dialog and yaml/conf files ... =back =item * highly configurable / adaptable to personal preferences =item * beauty / good integration on GUI, code and config level =item * solve things with minimal effort (no bloat / minimal dependencies) =item * still everything extendable by easy to write plugins =back I believe strongly that there is much more possible with GUI editors and text editors in general than we are used today. So I try to weave fresh ideas wherever I can and design Kephra in a way, that every programmer can alter and extend it easily. That can speed up progress or at least makes Kephra more comfortable for you. That is the plan, but we are currently not nearly that far. =item Name Especially from the last item derives the name, which is old egyptian and means something like heart. Because true beauty and a harmonic synchronisation of all parts of the consciousness begins when your heart awakens. Some call that true love. In egypt tradition this was symbolized with a rising sun (ra) and the principle of this was pictured as a scarab beatle with wings. Thats also a nice metaphor for an editor through which we give birth to programs, before they rise on their own. =item Details I believe that Kephra's agenda is very similar to Perl's. Its common wisdom that freedom means not only happiness but also life works most effective in freedom. So there should not only be more than one way to write a programm, but also more than one way use an editor. You could: =over 4 =item * select menu items =item * make kombinations of keystrokes =item * point and click your way with the mouse =item * type short edit commands =back =back So the question should not be vi or emacs, but how to combine the different strengths (command input field and optional emacs-like keymap possibilities). Perl was also a combination of popular tools and concepts into a single powerful language. Though I don't want to just adopt what has proven to be mighty. There are a lot of tools (especially in the graphical realm) that are still waiting to be discovered or aren't widely known. In Perl we write and rewrite them faster and much more dense than in C or Java. Some function that help me every day a lot, I written were in very few lines. But many good tools are already on CPAN and Kephra should just be the glue and graphical layer to give you the possibilities of these module to your fingertips in that form you prefer. This helpes also to improve these modules, when they have more users that can give the authors feedback. It motivates the community, when we can use our own tools and the perl ecosystem does not depend on outer software like eclipse, even if it's sometimes useful. Perl's second slogan is "Keep easy things easy and make hard things possible". To me it reads "Don't scare away the beginners and grow as you go". And like Perl I want to handle the complex things with as least effort as possible. From the beginning Kephra was a useful program and will continue so. =head2 Features Beside all the basic stuff that you would expect I listed here some features by category in main menu: =over 2 =item File file sessions, history, simple templates, open all of a dir, insert, autosave by timer, save copy as, rename, close all other, detection if file where changed elsewhere =item Editing unlimited undo with fast modes, replace (clipboard and selection), line edit functions, move line/selection, indenting, block formating, delete trailing space, comment, convert (case, space or indention) rectangular selection with mouse and keyboard, auto- and braceindention =item Navigation bracenav, blocknav, doc spanning bookmarks, goto last edit, last doc, rich search, incremental search, searchbar and search dialog =item Tools run script (integrated output panel), notepad panel, color picker =item Doc Property syntax mode, codepage, tab use, tab width, EOL, write protection =item View all app parts and margins can be switched on and off, syntaxhighlighting bracelight, ight margin, indention guide, caret line, line wrap, EOL marker, visible whitespace, changeable font =item Configs config files to be opened through a menu: settings, all menus, commandID's, event binding, icon binding, key binding, localisation (translate just one file to transelate the app), syntaxmodes and some help texts to be opened as normal files =back =head1 ROADMAP =head2 Overview Enduser Release 0.1 a very simple editor Enduser Release 0.2 multiple documents, file session Enduser Release 0.3 searchbar and more comfort Enduser Release 0.4 This release was about getting the editor liquid or highly configurable. Its also about improvements in the user interface and of course the little things we missed. It also contains interpreter output panel and a notepad. Enduser Release 0.5 This release is about getting Kephra into the 'real' world out there and adding feature that are most needed and removing most hindering barriers. Folding, encodings, printing, .... and lot of minor tools and more help. Enduser Release 0.6 This release will be about extending Kephra internal extensions like a file brwoser, command line and tree lib as Plugin API. Enduser Release 0.7 Introducing Syntaxmodes, for language sensitive data and functionions. Enduser Release 0.8 more heavier stuff like debugger =head2 This Cycle =over 2 =item Testing 0.4.1 - code folding =item Testing 0.4.2 - folding and GUI refined, movable tabs, 2 more tools, doc data =item Testing 0.4.3 - utf, marker, folding finished, 3 more tools, help links =item Testing 0.4.4 - new mouse control, 2 more tools, updated docs =item Testing 0.4.5 - more encodings, local notepad =item Testing 0.4.6 - config dialog =item Stable 0.5 - about dialog =back =head1 SUPPORT Bugs should be reported via the CPAN bug tracker at L For other issues, contact the author. More info and resources you find on our sourceforge web page under: L =head1 AUTHORS =over =item * Herbert Breunung Elichtkind@cpan.orgE (main author) =item * Jens Neuwerk (author of icons, GUI advisor) =item * Andreas Kaschner (linux and mac ports) =item * Adam Kennedy Eadamk@cpan.orgE (cpanification) =item * Renee B�cker Emodule@renee-baecker.deE (color picker) =item * many more since we study other editors a lot and also the padre sources =back =head1 COPYRIGHT AND LICENSE This Copyright applies only to the "Kephra" Perl software distribution, not the icons bundled within. Copyright 2004 - 2010 Herbert Breunung. This program is free software; you can redistribute it and/or modify it under the terms of the GNU GPL. The full text of the license can be found in the LICENSE file included with this module. =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/0000755000175000017500000000000011633700043016072 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/EventTable.pm0000644000175000017500000001226511573645310020477 0ustar rizlarizlapackage Kephra::EventTable; our $VERSION = '0.16'; use strict; use warnings; # get pointer to the event list my %timer; my %table; my %group = ( edit => [qw(document.text.change document.text.select caret.move)], doc_change => [qw(document.current.number.changed document.savepoint document.text.select)], ); sub _table { \%table } sub start_timer { # set or update timer events my $win = Kephra::App::Window::_ref(); my $config = Kephra::API::settings()->{file}; stop_timer(); if ($config->{open}{notify_change}) { $timer{file_notify} = Wx::Timer->new( $win, 2 ); $timer{file_notify}->Start( $config->{open}{notify_change} * 1000 ); Wx::Event::EVT_TIMER( $win, 2, sub { Kephra::File::changed_notify_check() } ); } if ($config->{save}{auto_save}) { $timer{file_save} = Wx::Timer->new( $win, 1 ); $timer{file_save}->Start( $config->{save}{auto_save} * 1000 ); Wx::Event::EVT_TIMER( $win, 1, sub { Kephra::File::save_all_named() } ); } } sub stop_timer { my $win = Kephra::App::Window::_ref(); $timer{file_save}->Stop if ref $timer{file_save} eq 'Wx::Timer'; delete $timer{file_save}; $timer{file_notify}->Stop if ref $timer{file_notify} eq 'Wx::Timer'; delete $timer{file_notify}; } sub delete_all_timer {} ####################################################################### sub add_call { return until ref $_[2] eq 'CODE'; my $list = _table(); $list->{active}{ $_[0] }{ $_[1] } = $_[2]; $list->{owner}{ $_[3] }{ $_[0] }{ $_[1] } = 1 if $_[3]; } sub add_frozen_call { return until ref $_[2] eq 'CODE'; my $list = _table(); $list->{frozen}{ $_[0] }{ $_[1] } = $_[2]; $list->{owner}{ $_[3] }{ $_[0] }{ $_[1] } = 1 if $_[3]; } sub trigger { my $active = _table()->{active}; for my $event (@_){ if (ref $active->{$event} eq 'HASH'){ $_->() for values %{ $active->{$event} } } } } sub trigger_group { my $group_name = shift; return unless $group_name and ref $group{$group_name} eq 'ARRAY'; trigger( @{$group{$group_name}} ); } sub freeze { my $list = _table(); for my $event (@_){ if (ref $list->{active}{$event} eq 'HASH'){ $list->{frozen}{$event}{$_} = $list->{active}{$event}{$_} for keys %{$list->{active}{$event}}; delete $list->{active}{$event}; } } } sub freeze_group { my $group_name = shift; return unless $group_name and ref $group{$group_name} eq 'ARRAY'; freeze( @{$group{$group_name}} ); } sub freeze_all { freeze($_) for keys %{_table()->{active}} } sub thaw { my $list = _table(); for my $event (@_){ if (ref $list->{frozen}{$event} eq 'HASH'){ $list->{active}{$event}{$_} = $list->{frozen}{$event}{$_} for keys %{$list->{frozen}{$event}}; delete $list->{frozen}{$event}; } } } sub thaw_group { my $group_name = shift; return unless $group_name and ref $group{$group_name} eq 'ARRAY'; thaw( @{$group{$group_name}} ); } sub thaw_all { thaw($_) for keys %{_table()->{frozen}} } sub del_call { return until $_[1]; my $list = _table()->{active}; delete $list->{ $_[0] }{ $_[1] } if exists $list->{ $_[0] }{ $_[1] }; $list = _table()->{frozen}; delete $list->{ $_[0] }{ $_[1] } if exists $list->{ $_[0] }{ $_[1] }; } sub del_subscription { my $subID = shift; my $list = _table()->{active}; for my $event (keys %$list){ delete $list->{$event}->{$subID} if exists $list->{$event}->{$subID}; } $list = _table()->{frozen}; for my $event (keys %$list){ delete $list->{$event}->{$subID} if exists $list->{$event}->{$subID}; } } sub del_own_subscriptions { my $owner = shift; my $list = _table(); return unless ref $list->{owner}{ $owner } eq 'HASH'; my $lista = $list->{active}; my $listf = $list->{frozen}; my $own_ev = $list->{owner}{ $owner }; for my $ev (keys %$own_ev) { for (keys %{$own_ev->{$ev}}) { delete $lista->{ $ev }{ $_ } if exists $lista->{ $ev }{ $_ }; delete $listf->{ $ev }{ $_ } if exists $listf->{ $ev }{ $_ }; } } delete $list->{owner}{ $owner }; } sub del_all_active { $table{active} = () } sub del_all_frozen { $table{frozen} = () } sub del_all { %table = () } 1; __END__ =head1 NAME Kephra::API::EventTable - API to internal events =head1 DESCRIPTION Every routine can subscribe a callback to any event that will than triggered when that event takes place. Also extentions (plugins) can do that. Event ID can also be triggered to simulate application events. Some function do freeze events to speed up certain repeating actions (don't forget to thaw after that). Callbacks can also sanely removed, if no longer needed. Names of Events contain dots as separator of of namespaces. =head1 SPECIFICATION =head2 add_call =over =item * EvenID =item * CallbackID for removing that callback. Must be unique in for this event. =item * Callback a Coderef. =item * Owner for removing all callbacks of that owner. =back =head1 List of all Events =over 4 =item * menu.open =item * editpanel.focus =item * document.text.select =item * document.text.change =item * document.savepoint =item * document.list =item * caret.move =item * app.close =back =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/Plugin/0000755000175000017500000000000011633700043017330 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Plugin/Demo.pm0000644000175000017500000000071311573645310020563 0ustar rizlarizlapackage Kephra::Plugin::Demo; use strict; use warnings; our $VERSION = '0.01'; ################################################# # Demoplugin as an tutorial for plugin authors ################################################# our $commands = { 'open' => { call => 'show_dialog()', label => 'Demo Plugin', key => 'alt+shift+D', icon => '', menu => 'OWN', } }; sub init { } sub start { } sub show_dialog { } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Plugin.pm0000644000175000017500000000016711602233715017675 0ustar rizlarizlapackage Kephra::Plugin; our $VERSION = '0.00'; use strict; use warnings; sub install{} sub deinstall{} sub init {} 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Log.pm0000644000175000017500000000416711573645310017171 0ustar rizlarizlapackage Kephra::Log; $VERSION = '0.01'; use strict; use warnings; sub setup_logging { eval { require Log::Dispatch; require Log::Dispatch::File; }; if ($@) { _setup_fake_logger(); } else { _setup_real_logger(); } $main::logger->info("Starting"); return; } sub _setup_fake_logger { package Kephra::FakeLogger; $main::logger = bless {}, __PACKAGE__; no strict 'refs'; foreach my $l ( qw( debug info notice warning err error crit critical alert emerg emergency ) ) { *{$l} = sub {}; } return; } sub _setup_real_logger { mkdir $Kephra::temp{path}{logger}; # TODO: setup pseudo logger in case the directory does not exist or # otherwise cannot start the logger, report error $main::logger = Log::Dispatch->new; require POSIX; my $ts = POSIX::strftime("%Y%m%d", localtime); print File::Spec->catfile($Kephra::temp{path}{logger}, "$ts.log"); $main::logger->add( Log::Dispatch::File->new( name => 'file1', min_level => ($ENV{KEPHRA_LOGGIN} || 'debug'), filename => File::Spec->catfile($Kephra::temp{path}{logger}, "$ts.log"), mode => 'append', callbacks => \&_logger, )); $SIG{__WARN__} = sub { $main::logger->warning($_[0]) }; return; } sub _logger { my %data = @_; # TODO maybe we should use regular timestamp here and turn on the hires timestamp # only if KEPHRA_TIME or similar env variable is set require Time::HiRes; return sprintf("%s - %s - %s - %s\n", Time::HiRes::time(), $$, $data{level}, $data{message}); } sub msg { message(@_) } sub message { #Wx::LogMessage( "Hello from MyTimer::Notify!" ); # Wx::Log::SetActiveTarget( delete $this->{OLDLOG} ); #$this->{OLDLOG} = #Wx::Log::SetActiveTarget( Wx::LogTextCtrl->new( $this->{TEXT} ) ); # #Wx::LogTraceMask( 'test', "You can't see this!" ); #Wx::Log::AddTraceMask( 'test' ); #Wx::LogTraceMask( "Wx::LogTraceMask" ); #Wx::Log::SetActiveTarget( $this->{PANEL}->{OLDLOG} ); } sub warn { Kephra::App::StatusBar::info_msg(@_) } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/0000755000175000017500000000000011633700043017277 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Interface.pm0000644000175000017500000000552711573645310021556 0ustar rizlarizlapackage Kephra::Config::Interface; our $VERSION = '0.08'; use strict; use warnings; # handling config files under config/interface sub _config { Kephra::API::settings()->{app} } sub _sub_dir { _config()->{app_data_sub_dir} } sub _cache_sub_dir { File::Spec->catdir(_sub_dir(), _config()->{cache}{sub_dir})} sub load { Kephra::CommandList::clear(); Kephra::Config::Localisation::refresh_index(); my $use_cache = _config()->{cache}{use}; # config allow to use the cache my $load_cache = 0; # cache is successful loaded my (%file,%old_index,%new_index); if ($use_cache and 0) { # supend using cache my $read = \&Kephra::Config::File::load; my $path = \&Kephra::Config::filepath; my $get_age = \&Kephra::File::IO::get_age; my $cache_dir = _cache_sub_dir(); $file{index} = &$path( $cache_dir, 'index_cmd.yml'); $file{cmd_cache} = &$path( $cache_dir, 'cmd_main.yml' ); $file{l18n_cache}= &$path( $cache_dir, 'l18n_main.yml'); $file{cmd} = Kephra::CommandList::file(); $file{l18n} = Kephra::Config::Localisation::file(); %old_index = %{ &$read($file{index}) } if -e $file{index}; %new_index = ( 'l18n' => {'file' => $file{cmd}, 'age' => &$get_age($file{cmd})}, 'cmd' => {'file' => $file{l18n}, 'age' => &$get_age($file{l18n})}, ); if (-e $file{cmd} and -e $file{l18n}) { YAML::Tiny::DumpFile( $file{index}, \%new_index ); if (-e $file{cmd_cache} and -e $file{l18n_cache} and scalar keys %new_index == scalar keys %old_index) { $load_cache = 1; for (keys %new_index) { $load_cache = 0 unless $new_index{$_}{age} == $old_index{$_}{age} and $new_index{$_}{file}eq $old_index{$_}{file}; } } if ($load_cache) { Kephra::CommandList::data( &$read( $file{cmd_cache} ) ); Kephra::Config::Localisation::_set_strings ( &$read( $file{l18n_cache} ) ); Kephra::Config::Localisation::set_lang_by_file(); } } else { unlink $file{index} if -e $file{index}; } } unless ($load_cache) { Kephra::Config::Localisation::load(); Kephra::CommandList::load(); del_temp_data(); if ($use_cache) { my $write = \&YAML::Tiny::DumpFile; &$write( $file{cmd_cache}, Kephra::CommandList::data() ); &$write( $file{l18n_cache}, Kephra::Config::Localisation::strings() ); } } Kephra::CommandList::eval_data(); Kephra::Config::Localisation::create_menus(); Kephra::App::EditPanel::create_mouse_binding(); } sub del_temp_data { Kephra::CommandList::del_temp_data() } sub open_file { my $item = shift; my $config = _config(); return unless exists $config->{$item}; my $file = $config->{$item}{file}; $file = $config->{$item}{defaultfile} if $item eq 'contextmenu'; $file = $config->{$item}{file} if $item eq 'toolbar'; Kephra::Config::open_file( $file ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/File.pm0000644000175000017500000000637711573645310020541 0ustar rizlarizlapackage Kephra::Config::File; our $VERSION = '0.13'; use strict; use warnings; # # internal # sub _get_type { my $name = shift; if (not defined $name) { #$main::logger->error(" return; } return unless $name; return 'conf' if $name =~ /\.conf$/; return 'conf' if $name =~ /\.cfg$/; return 'yaml' if $name =~ /\.yaml$/; return 'yaml' if $name =~ /\.yml$/; return; # TODO: log or throw exception if no or invalid file given # make the extension checking stricter? # accept only .yml .yaml and .conf extension? } # # API 2 App # sub load_from_node_data { my $node = shift; return unless defined $node->{file} and $node->{node}; load_node( Kephra::Config::filepath( $node->{file} ), $node->{node} ); } sub load_node{ my $file_name = shift; my $start_node = shift; my $config_tree = load($file_name); return defined $start_node ? Kephra::Config::Tree::get_subtree( $config_tree, $start_node ) : $config_tree; } # !!! -NI sub store_node{ my $file_name = shift; my $start_node = shift; } sub load { my $file_name = shift; return unless -e $file_name; my $type = _get_type($file_name); return unless $type; if ($type eq 'conf') { load_conf($file_name) } elsif ($type eq 'yaml') { load_yaml($file_name) } } sub store { my $file_name = shift; my $config = shift; # if want to write into nonexisting dir, create it unless (-w $file_name){ my ($volume,$dir,$file) = File::Spec->splitpath( $file_name ); $dir = File::Spec->catdir( $volume, $dir ); mkdir $dir unless -e $dir; } my $type = _get_type($file_name); if ($type eq 'conf') { store_conf($file_name, $config) } elsif ($type eq 'yaml') { store_yaml($file_name, $config) } } # # API 2 YAML # sub load_yaml { &YAML::Tiny::LoadFile #if ($^O=~/(?:linux|darwin)/i) { #YAML::Tiny::Load( Kephra::File::IO::lin_load_file($_[0]) ) #} else { } } sub store_yaml { &YAML::Tiny::DumpFile } # # API 2 General::Config # sub load_conf { my $configfilename = shift; my $utf = shift || 0; my %config; my $error_msg = Kephra::Config::Localisation::strings()->{dialog}{error}; my %opt = ( -AutoTrue => 1, -UseApacheInclude => 1, -IncludeRelative => 1, -InterPolateVars => 0, -AllowMultiOptions => 1, -MergeDuplicateOptions => 0, -MergeDuplicateBlocks => 0, -SplitPolicy => 'equalsign', -SaveSorted => 1, -UTF8 => $utf, ); $opt{'-ConfigFile'} = $configfilename; #if ($^O=~/(?:linux|darwin)/i) {$opt{'-String'} = Kephra::File::IO::lin_load_file($configfilename);}else {} $Kephra::app{config}{parser}{conf} = Config::General->new(%opt); if ( -e $configfilename ) { eval { %config = $Kephra::app{config}{parser}{conf}->getall }; Kephra::Dialog::warning_box ("$configfilename: \n $@", $error_msg->{config_read}) if $@ or !%config; } else { Kephra::Dialog::warning_box ($error_msg->{config_read}."-".$configfilename, $error_msg->{file}); } \%config; } sub store_conf { my ( $configfilename, $config ) = @_; $Kephra::app{config}{parser}{conf}->save_file( $configfilename, $config ); } 1; =head1 NAME Kephra::Config::File - IO of config files =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Global.pm0000644000175000017500000001712211573645310021050 0ustar rizlarizlapackage Kephra::Config::Global; our $VERSION = '0.29'; use strict; use warnings; # handling main config files under /config/global/ my %settings; sub settings { \%settings } sub _settings { my $conf = shift; %settings = %$conf if ref $conf eq 'HASH'; \%settings; } sub merge_hash_into_settings { my $conf = shift; return unless ref $conf eq 'HASH'; _settings( Kephra::Config::Tree::update( settings(), $conf ) ); } sub merge_subfile_into_settings { my $file = shift; return unless $file; $file = Kephra::Config::filepath( _sub_dir(), 'sub', $file ); return unless -r $file; merge_hash_into_settings( Kephra::Config::File::load($file) ); } sub _sub_dir {'global'} my ($auto_file, $current_file); sub current_file{ $current_file = defined $_[0] ? $_[0] : $current_file } sub auto_file { $auto_file = defined $_[0] ? $_[0] : $auto_file } sub autoload { my $autosave = auto_file(); current_file( $autosave ); my $backup = $autosave . '~'; #$main::logger->debug("autoload"); for my $file ($autosave, $backup) { if ( -e $file ) { my $config_tree = Kephra::Config::File::load($file); %settings = %$config_tree if ref $config_tree eq 'HASH'; if (exists $settings{about}{version} and $settings{about}{version} ne $Kephra::VERSION){ rename $file, $file . '.old'; %settings = %{ Kephra::Config::Tree::update( Kephra::Config::Default::global_settings(), \%settings, ) }; $settings{about}{version} = $Kephra::VERSION; } last if %settings; rename $file, $file . '.failed'; } } %settings ? evaluate() : load_defaults(); Kephra::File::History::init(); # are settings loaded, hist init will produce one keys %settings; } sub autosave { #$main::logger->debug("save_autosaved"); my $file_name = auto_file(); rename $file_name, $file_name . '~'; Kephra::Config::File::store( $file_name, \%settings ); } sub open_current_file { save_current(); Kephra::Config::open_file_absolute( current_file() ); #Kephra::File::reload_current(); } sub load_backup_file { reload( auto_file() . '~' ) } sub load_defaults { %settings = %{ Kephra::Config::Default::global_settings() }; evaluate(); } sub load_from { my $file_name = Kephra::Dialog::get_file_open( Kephra::Config::Localisation::strings()->{dialog}{config_file}{load}, Kephra::Config::dirpath( _sub_dir() ), $Kephra::temp{file}{filterstring}{config} ); reload($file_name) if -e $file_name; current_file($file_name); } sub update { Kephra::App::Window::save_positions(); Kephra::Document::Data::update_attributes(); Kephra::Edit::Search::save_search_data(); Kephra::App::EditPanel::Fold::store(); Kephra::App::Panel::Notepad::save(); Kephra::App::Panel::Output::save(); } sub evaluate { my $t0 = new Benchmark; Kephra::EventTable::del_all(); Kephra::EventTable::stop_timer(); my $t1 = new Benchmark; print " iface cnfg:", Benchmark::timestr( Benchmark::timediff( $t1, $t0 ) ), "\n" if $Kephra::BENCHMARK; # set interna to default $Kephra::app{GUI}{masterID} = 20; $Kephra::temp{dialog}{control} = 0; Kephra::Document::SyntaxMode::_ID('none'); Kephra::Edit::Search::_refresh_search_flags(); # delete unnecessary ecaping of vars Kephra::API::settings()->{app}{window}{title}=~ s/\\\$/\$/g; my $t2 = new Benchmark; print " prep. data:", Benchmark::timestr( Benchmark::timediff( $t2, $t1 ) ), "\n" if $Kephra::BENCHMARK; # loading interface data (localisation, menus and bar defs) Kephra::Config::Interface::load(); my $t3 = new Benchmark; print " create gui:", Benchmark::timestr( Benchmark::timediff( $t3, $t2 ) ), "\n" if $Kephra::BENCHMARK; # main window components Kephra::App::Window::apply_settings(); Kephra::App::ContextMenu::create_all(); Kephra::App::MenuBar::create(); Kephra::App::MainToolBar::show(); Kephra::App::SearchBar::create(); Kephra::App::TabBar::apply_settings(); Kephra::App::StatusBar::create(); Kephra::App::Panel::Notepad::create(); Kephra::App::Panel::Output::create(); Kephra::App::assemble_layout(); Kephra::Config::Interface::del_temp_data(); my $t4 = new Benchmark; print " apply sets:", Benchmark::timestr( Benchmark::timediff( $t4, $t3 ) ), "\n" if $Kephra::BENCHMARK; Kephra::App::ContextMenu::connect_all(); Kephra::App::EditPanel::apply_settings_here(); Kephra::Config::build_fileendings2syntaxstyle_map(); Kephra::Config::build_fileendings_filterstring(); Kephra::EventTable::start_timer(); #todo: #Kephra::EventTable::thaw_all(); #Kephra::App::clean_acc_table(); return 1; } sub reload { my $configfile = shift || current_file(); if ( -e $configfile ) { Kephra::Document::Data::update_attributes(); my %test_hash = %{ Kephra::Config::File::load($configfile) }; if (%test_hash) { %settings = %test_hash; reload_tree(); } else { save(); Kephra::File::reload_current(); } } else { my $err_msg = Kephra::Config::Localisation::strings()->{dialog}{error}; Kephra::Dialog::warning_box ($err_msg->{file_find} . "\n $configfile", $err_msg->{config_read} ); } } sub reload_tree { update(); evaluate(); Kephra::App::TabBar::refresh_all_label(); Kephra::Document::Data::evaluate_attributes(); } sub reload_current { reload( current_file() ) } sub eval_config_file { my $file_path = Kephra::Config::standartize_path_slashes( shift ); my $config_path = Kephra::Config::dirpath(); my $l_path = length $config_path; if ($config_path eq substr( $file_path, 0, $l_path)){ $file_path = substr $file_path, $l_path+1; } my $conf = settings()->{app}; my $match = \&Kephra::Config::path_matches; if ( &$match( $file_path, auto_file(), $conf->{localisation_file}, $conf->{commandlist}{file} )) { return reload(); } if ( &$match( $file_path, $conf->{menubar}{file} ) ) { return Kephra::App::MenuBar::create() } if ( &$match( $file_path, $conf->{toolbar}{main}{file} ) ) { return Kephra::App::MainToolBar::create(); } if ( &$match( $file_path, $conf->{toolbar}{search}{file} ) ) { Kephra::App::SearchBar::create(); Kephra::App::SearchBar::position(); return; } # reload template menu wenn template file changed if ( &$match($file_path, Kephra::Config::path_from_node($settings{file}{templates})) ){ return Kephra::Menu::set_absolete('insert_templates'); } reload() if Kephra::Document::Data::get_attribute('config_file'); } # sub save { my $file_name = shift || current_file(); update(); Kephra::Config::File::store( $file_name, \%settings ); } sub save_as { my $file_name = Kephra::Dialog::get_file_save( Kephra::Config::Localisation::strings()->{dialog}{config_file}{save}, Kephra::Config::dirpath( _sub_dir() ), $Kephra::temp{file}{filterstring}{config} ); save($file_name) if ( length($file_name) > 0 ); } sub save_current { save( current_file() ) } # sub merge_with { my $filename = Kephra::Dialog::get_file_open( Kephra::Config::Localisation::strings()->{dialog}{config_file}{load}, Kephra::Config::dirpath( _sub_dir(), 'sub'), $Kephra::temp{file}{filterstring}{config} ); load_subconfig($filename); } # sub load_subconfig { my $file = shift; if ( -e $file ) { merge_hash_into_settings( Kephra::Config::File::load($file) ); reload_tree(); } } sub open_templates_file { my $config = $settings{file}{templates}; Kephra::Config::open_file( $config->{directory}, $config->{file} ); } 1; __END__ =head1 NAME Kephra::Config::Global - loading and storing the config settings for the app =head1 DESCRIPTION =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Tree.pm0000644000175000017500000000731011573645310020545 0ustar rizlarizlapackage Kephra::Config::Tree; our $VERSION = '0.02'; =head1 NAME Kephra::Config::Tree - manipulation of config data =head1 DESCRIPTION =cut use strict; use warnings; # # single node manipulation # sub _convert_node_2_AoH { my $node = shift; if (ref $$node eq 'ARRAY') { return $$node if ref $$node->[0] eq 'HASH'; } elsif (ref $$node eq 'HASH') { my %temp_hash = %{$$node}; push( my @temp_array, \%temp_hash ); return $$node = \@temp_array; } elsif (not ref $$node) { my @temp_array = (); return $$node = \@temp_array; } } sub _convert_node_2_AoS { my $node = shift; if (ref $$node eq 'ARRAY') { return $$node; } elsif ( 'SCALAR' eq ref $node ) { if ($$node) { push( my @temp_array, $$node ); return $$node = \@temp_array; } else { my @temp_array = (); return $$node = \@temp_array; } } } # # single node manipulation # sub get_subtree { &subtree } sub subtree { my $config = shift; return unless ref $config; my $path = shift; for (split '/', $path) { $config = $config->{$_} if defined $config->{$_}; } return $config; } sub flat_keys { my $config = shift; return unless ref $config eq 'HASH'; my %flathash; for ( keys %$config ){ } } #sub _parse_and_copy_node { #my ($parent_node, $parent_id) = @_; #no strict; #for ( keys %$parent_node ){ #$cmd_id = $parent_id . $_; #$leaf_type = ref $parent_node->{$_}; #if (not $leaf_type) { #$list{$cmd_id}{$target_leafe} = $parent_node->{$_} #if $parent_node->{$_}; #} elsif ($leaf_type eq 'HASH'){ #_parse_and_copy_node($parent_node->{$_}, $cmd_id . '-') #} # # tree operations # my %copy = ( '' => sub { $_[0] }, SCALAR => sub { \${$_[0]} }, REF => sub { \copy( ${$_[0]} ) }, ARRAY => sub { [map {copy($_)} @{$_[0]} ] }, HASH => sub { my %copy = map { copy($_) } %{$_[0]}; \%copy; }, ); my %merge = ( '' => sub { $_[0] }, SCALAR => sub { \${$_[0]} }, REF => sub { \merge( ${$_[0]}, ${$_[1]} ) }, ARRAY => sub { [map { copy($_) } ( @{$_[0]}, @{$_[1]} ) ] }, HASH => sub { my %copy = map { $_, merge( $_[0]{$_}, $_[1]{$_} ) } (keys %{$_[0]}, keys %{$_[1]} ); \%copy; }, ); my %update = ( '' => sub { $_[1] }, SCALAR => sub { \${$_[1]} }, REF => sub { \update( ${$_[0]}, ${$_[1]} ) }, ARRAY => sub { [map { copy($_) } ( @{$_[1]} ) ] }, HASH => sub { my %copy = map { $_, exists $_[1]{$_} ? update( $_[0]{$_}, $_[1]{$_} ) : copy( $_[0]{$_} ) } keys %{$_[0]} ; \%copy; }, ); my %diff = ( '' => sub { $_[0] ne $_[1] ? $_[0] : undef }, SCALAR => sub { ${$_[0]} ne ${$_[1]} ? \${$_[0]} : undef }, REF => sub { my $diff = diff( ${$_[0]}, ${$_[1]} ); defined $diff ? \$diff : undef }, ARRAY => sub { [map { copy($_) } @{$_[0]} ] }, HASH => sub { my %diff; for ( keys %{$_[0]} ) { my $diff = exists $_[1]{$_} ? diff( $_[0]{$_}, $_[1]{$_} ) : copy( $_[0]{$_} ) ; $diff{$_} = $diff if defined $diff; } return scalar keys %diff > 0 ? \%diff : undef; }, ); sub copy { $copy{ ref $_[0] }( $_[0] ) } sub merge { my ($lref, $rref) = (ref $_[0], ref $_[1]); $lref eq $rref ? $merge{ $lref }( $_[0], $_[1] ) : defined $_[0] ? $copy{ $lref }( $_[0] ) : $copy{ $rref }( $_[1] ) ; } sub update { # left dictates the content, right the structure my ($lref, $rref) = (ref $_[0], ref $_[1]); $lref eq $rref ? $update{ $lref }( $_[0], $_[1] ) : $copy{ $rref }( $_[0] ) ; } sub diff { my ($lref, $rref) = (ref $_[0], ref $_[1]); $lref eq $rref ? $diff{ $lref }( $_[0], $_[1] ) : $copy{ $lref }( $_[0] ) # undef ; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default.pm0000644000175000017500000000545711573645310021244 0ustar rizlarizlapackage Kephra::Config::Default; our $VERSION = '0.19'; use strict; use warnings; # complete set of config to be able to start app under all circumstances sub global_settings { require Kephra::Config::Default::GlobalSettings; my $config = Kephra::Config::Default::GlobalSettings::get(); if ($^O =~ /linux/i) { $config->{editpanel}{font}{family} = 'DejaVu Sans Mono'; $config->{editpanel}{font}{size} = 10; $config->{app}{panel}{output}{font_family} = 'DejaVu Sans Mono'; $config->{app}{panel}{output}{font_size} = 9; $config->{app}{panel}{notepad}{font_family} = 'Nimbus Sans L'; $config->{app}{panel}{notepad}{font_size} = 10; $config->{app}{window}{position_x} = 10; $config->{app}{window}{position_y} = 10; $config->{app}{window}{size_x} = 770; $config->{app}{window}{size_y} = 525; } elsif ($^O =~ /darwin/i) { $config->{editpanel}{font}{family} = 'Monaco'; $config->{editpanel}{font}{size} = 12; $config->{app}{panel}{output}{font_family} = 'Monaco'; $config->{app}{panel}{output}{font_size} = 11; $config->{app}{panel}{notepad}{font_family} = 'Arial'; $config->{app}{panel}{notepad}{font_size} = 12; $config->{app}{window}{position_x} = 10; $config->{app}{window}{position_y} = 25; $config->{app}{window}{size_x} = 780; $config->{app}{window}{size_y} = 565; } return $config; } sub commandlist { require Kephra::Config::Default::CommandList; Kephra::Config::Default::CommandList::get(); } sub localisation { require Kephra::Config::Default::Localisation; Kephra::Config::Default::Localisation::get(); } sub mainmenu { require Kephra::Config::Default::MainMenu; Kephra::Config::Default::MainMenu::get(); } sub contextmenus { require Kephra::Config::Default::ContextMenus; Kephra::Config::Default::ContextMenus::get(); } sub toolbars { require Kephra::Config::Default::ToolBars; Kephra::Config::Default::ToolBars::get(); } sub drop_xp_style_file{ my $file = shift; my $content = < MOM Client Application EOD my $l18n = Kephra::Config::Localisation::strings()->{dialogs}{error}; open my $FILE, '>', $file or Kephra::Dialog::warning_box ($l18n->{file_write}." $file", $l18n->{file}); print $FILE $content; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Localisation.pm0000644000175000017500000001215211573645310022267 0ustar rizlarizlapackage Kephra::Config::Localisation; our $VERSION = '0.08'; use strict; use warnings; use File::Find(); use YAML::Tiny(); # handling config files under config/localisation my %strings; sub _set_strings { %strings = %{$_[0]} if ref $_[0] eq 'HASH' } sub strings { \%strings } sub _config { Kephra::API::settings()->{app}{localisation} } sub _sub_dir { _config->{directory} if _config->{directory} } my %index; sub _index { if (ref $_[0] eq 'HASH') {%index = %{$_[0]}} else { \%index } } my $language; sub language { $language } sub file { Kephra::Config::filepath( _sub_dir(), _config()->{file} ) } sub set_file_name { file_name($_[0]) if defined $_[0]} sub file_name { if (defined $_[0]) { _config()->{file} = $_[0] } else { _config()->{file} } } sub set_lang_by_file { $language = $index{ _config()->{file} }{language} } # sub load { my $file = file(); # can only be conf because yaml tine doesnt support utf, 1 activates utf my $l = Kephra::Config::File::load_conf( $file, 1 ) if defined $file; $l = Kephra::Config::Default::localisation() unless $l and %$l; %strings = %$l; set_lang_by_file(); } sub change_to { my ($lang_file) = shift; return unless $lang_file; set_documentation_lang( _index()->{$lang_file}{iso_code} ); set_file_name( $lang_file ); Kephra::Config::Global::reload_tree(); } # open localisation file in the editor sub open_file { my $lang_file = shift; $lang_file eq file_name() ? Kephra::Config::open_file( _sub_dir(), $lang_file ) : Kephra::Document::add( Kephra::Config::filepath(_sub_dir(), $lang_file) ); } # create menus for l18n selection nd opening l18n files sub create_menus { my $l18n_index = _index(); return unless ref $l18n_index eq 'HASH'; my $l18n = strings()->{commandlist}{help}{config}; my ($al_cmd, $fl_cmd) = ('config-app-lang', 'config-file-localisation'); my ($al_help, $fl_help) = Kephra::CommandList::get_property_list ('help', $al_cmd, $fl_cmd); my (@config_app_lang, @config_localisation); for my $lang_file (sort keys %$l18n_index) { my $lang_data = $l18n_index->{$lang_file}; my $lang = ucfirst $lang_data->{language}; my $lang_code = $lang_data->{iso_code} || ''; my $al_lang_cmd = "$al_cmd-$lang_code"; my $fl_lang_cmd = "$fl_cmd-$lang_code"; Kephra::CommandList::new_cmd( $al_lang_cmd, { call => 'Kephra::Config::Localisation::change_to('."'".$lang_file."')", state => 'Kephra::Config::Localisation::file_name() eq '."'".$lang_file."'", label => $lang, help => "$al_help $lang", }); Kephra::CommandList::new_cmd( $fl_lang_cmd, { call => 'Kephra::Config::Localisation::open_file('."'".$lang_file."')", label => $lang, help => "$fl_help $lang", }); push @config_app_lang, 'item '.$al_lang_cmd; push @config_localisation, 'item '.$fl_lang_cmd; } Kephra::Menu::create_static('config_localisation',\@config_localisation); Kephra::Menu::create_static('config_app_lang', \@config_app_lang); } sub refresh_index { my $use_cache = Kephra::Config::Interface::_config()->{cache}{use}; my $index_file = Kephra::Config::filepath (Kephra::Config::Interface::_cache_sub_dir(), 'index_l18n.yml'); my $l18n_dir = Kephra::Config::dirpath( _sub_dir() ); my %old_index = %{ YAML::Tiny::LoadFile( $index_file ) } if -e $index_file; my %new_index; my ($FH, $file_name, $age); my $getmetaheader = qr|[\r\n]+(.*)[\r\n]+|s; my $lines = qr/[\r\n]+/; my $seperatekv = qr/\s*(\S+)\s*=\s*(.+)\s*/; #$File::Find::prune = 0; File::Find::find( sub { return if -d $_; $file_name = $_; $age = Kephra::File::IO::get_age($file_name); # if file is known and not refreshed just copy loaded data if (exists $old_index{$file_name} and $age == $old_index{$file_name}{age}) { $new_index{$file_name} = $old_index{$file_name}; return; } open $FH, "<", $file_name ; #:encoding(UTF-8) binmode($FH, ":raw"); #:crlf my ($chunk, $header, %filedata) = ('',''); #read just the meta data header do { return if eof $FH; # abort because no complete about header found read $FH, $chunk, 1000; $header .= $chunk; } until $header =~ /$getmetaheader/; # split to lines, delete spaces and extract keys and valuse for (split /$lines/, $1){ /$seperatekv/; $filedata{$1} = $2; } $filedata{'age'} = $age; # filter out local backup files of l18n files - not save for any file ending return if $filedata{language}.'.conf' ne $file_name; $new_index{$file_name} = \%filedata if defined $filedata{'purpose'} and $filedata{'purpose'} eq 'global localisation' # if its an stable enduser version the l18n strings has to be updated and (not defined $Kephra::PATCHLEVEL or $filedata{'version'} eq $Kephra::VERSION); }, $l18n_dir); YAML::Tiny::DumpFile($index_file, \%new_index); _index(\%new_index); \%new_index; } sub set_documentation_lang { my $lang = shift; return until $lang; $lang = $lang eq 'de' ? 'deutsch' : 'english'; Kephra::Config::Global::merge_subfile_into_settings ( Kephra::Config::filepath('documentation', $lang.'.conf') ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/0000755000175000017500000000000011633700043020663 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/MainMenu.pm0000644000175000017500000004344411573645310022753 0ustar rizlarizlapackage Kephra::Config::Default::MainMenu; our $VERSION = '0.05'; use strict; use warnings; sub get { return [ {'menu file' => [ 'item file-new', undef, {'menu file_open file-open' => [ 'item file-open', 'item file-open-dir', undef, 'item file-insert', undef, 'item file-reload', 'item file-reload-all', ],}, 'menu file_history', undef, {'menu file_session' => [ 'item file-session-open', 'item file-session-add', 'item file-session-save', undef, 'item file-session-backup-open', 'item file-session-backup-save', undef, 'item file-session-import', 'item file-session-export', ],}, undef, 'item file-save-current', #'menu file_save' => [] 'item file-save-all', 'item file-save-as', 'item file-save-copy-as', 'item file-rename', #'item file-print', undef, {'menu file_close file-close-current' => [ 'item file-close-current', 'item file-close-other', 'item file-close-all', undef, 'item file-close-unsaved', 'item file-close-other-unsaved', 'item file-close-all-unsaved', ],}, undef, 'item app-exit-unsaved', 'item app-exit', ],}, {'menu edit' => [ 'item edit-changes-undo', 'item edit-changes-redo', {'menu edit_changes' => [ 'item edit-changes-undo-several', 'item edit-changes-redo-several', undef, 'item edit-changes-goto-begin', 'item edit-changes-goto-end', undef, 'item edit-changes-delete', ],}, undef, 'item edit-cut', 'item edit-copy', 'item edit-paste', 'item edit-replace', 'item edit-delete', undef, {'menu current_line' => [ 'item edit-line-cut', 'item edit-line-copy', 'item edit-line-duplicate', 'item edit-line-replace', 'item edit-line-swap', 'item edit-line-delete', 'item edit-line-delete-left', 'item edit-line-delete-right', undef, 'item edit-line-move-line-up', 'item edit-line-move-line-down', 'item edit-line-move-page-up', 'item edit-line-move-page-down', ],}, {'menu select' => [ 'item select-document', 'item select-toggle-simple', 'item select-toggle-content', ],}, {'menu selection' => [ 'item edit-selection-move-char-left', 'item edit-selection-move-char-right', 'item edit-selection-move-line-up', 'item edit-selection-move-line-down', 'item edit-selection-move-page-up', 'item edit-selection-move-page-down', ],}, #'menu navigation' => [, undef, {'menu selection_format' => [ 'item edit-selection-format-indent-char', 'item edit-selection-format-dedent-char', 'item edit-selection-format-indent-tab', 'item edit-selection-format-dedent-tab', 'item edit-selection-format-align-on-begin', undef, 'item edit-selection-format-join-lines', undef, 'item edit-selection-format-block-on-right-margin', 'item edit-selection-format-block-on-width', 'item edit-selection-format-linewrap-on-right-margin', 'item edit-selection-format-linewrap-on-width', undef, 'item edit-selection-format-del-trailing-whitespace', ],}, {'menu selection_comment' => [ 'item edit-selection-comment-add-perl', 'item edit-selection-comment-del-perl', 'item edit-selection-comment-toggle-perl', undef, 'item edit-selection-comment-add-c', 'item edit-selection-comment-del-c', undef, 'item edit-selection-comment-add-xml', 'item edit-selection-comment-del-xml', ],}, {'menu selection_convert' => [ 'item edit-selection-convert-uppercase', 'item edit-selection-convert-lowercase', 'item edit-selection-convert-titlecase', 'item edit-selection-convert-sentencecase', undef, 'item edit-selection-convert-spaces2tabs', 'item edit-selection-convert-tabs2spaces', undef, 'item edit-selection-convert-spaces2entities', 'item edit-selection-convert-entities2spaces', 'item edit-selection-convert-chars2entities', 'item edit-selection-convert-entities2chars', ],}, ],}, {'menu search' => [ 'item view-searchbar-goto', 'item view-dialog-find', 'item view-dialog-replace', {'menu find_functions' => [ 'item find-prev', 'item find-next', 'item find-first', 'item find-last', 'item find-selection', ],}, {'menu replace_functions' => [ 'item replace-prev', 'item replace-next', 'item replace-all', 'item replace-with-confirm', 'item replace-selection', ],}, {'menu search_attributes' => [ 'checkitem search-attribute-incremental-switch', 'checkitem search-attribute-autowrap-switch', undef, 'checkitem search-attribute-regex-switch', 'checkitem search-attribute-match-whole-word-switch', 'checkitem search-attribute-match-word-begin-switch', 'checkitem search-attribute-match-case-switch', undef, 'radioitem search-range-selection', 'radioitem search-range-document', 'radioitem search-range-open-docs', ],}, undef, 'item goto-line', 'item goto-last-edit', undef, {'menu marker' => [ 'item marker-goto-prev-doc', 'item marker-goto-next-doc', 'item marker-goto-prev-all', 'item marker-goto-next-all', 'item marker-toggle-here', 'item marker-delete-doc', 'item marker-delete-all', ],}, undef, {'menu bookmark_goto' => [ 'item bookmark-goto-1', 'item bookmark-goto-2', 'item bookmark-goto-3', 'item bookmark-goto-4', 'item bookmark-goto-5', 'item bookmark-goto-6', 'item bookmark-goto-7', 'item bookmark-goto-8', 'item bookmark-goto-9', 'item bookmark-goto-0', ],}, {'menu bookmark_toggle' => [ 'item bookmark-toggle-1', 'item bookmark-toggle-2', 'item bookmark-toggle-3', 'item bookmark-toggle-4', 'item bookmark-toggle-5', 'item bookmark-toggle-6', 'item bookmark-toggle-7', 'item bookmark-toggle-8', 'item bookmark-toggle-9', 'item bookmark-toggle-0', ],}, 'item bookmark-delete-doc', 'item bookmark-delete-all', ],}, {'menu tools' => [ 'item tool-interpreter-run-document', 'item tool-interpreter-stop-document', {'menu tool_output' => [ 'item tool-output-selection-dec', 'item tool-output-selection-hex', undef, 'item tool-output-env', 'item tool-output-inc', ],}, undef, 'menu insert_templates', 'item tool-choose-color', 'item tool-insert-time-date', undef, 'item tool-perl-insert-last-var', 'item tool-perl-copy-string', undef, 'item tool-note', 'item tool-note-selection', undef, 'checkitem tool-auto-indention', 'checkitem tool-brace-indention', 'checkitem tool-brace-completion', ],}, {'menu document' => [ {'menu document_change' => [ 'item document-change-prev', 'item document-change-next', 'item document-change-back', undef, 'item document-move-right', 'item document-move-left', ],}, undef, {'menu document_syntaxmode' => [ 'item document-syntaxmode-auto', 'checkitem document-syntaxmode-none', undef, {'menu document_syntaxmode_A-M' => [ 'checkitem document-syntaxmode-ada', 'checkitem document-syntaxmode-as', 'checkitem document-syntaxmode-asm', 'checkitem document-syntaxmode-ave', 'checkitem document-syntaxmode-baan', 'checkitem document-syntaxmode-batch', 'checkitem document-syntaxmode-c', 'checkitem document-syntaxmode-cs', 'checkitem document-syntaxmode-conf', 'checkitem document-syntaxmode-context', 'checkitem document-syntaxmode-css', 'checkitem document-syntaxmode-diff', 'checkitem document-syntaxmode-eiffel', 'checkitem document-syntaxmode-err', 'checkitem document-syntaxmode-forth', 'checkitem document-syntaxmode-fortran', 'checkitem document-syntaxmode-html', 'checkitem document-syntaxmode-idl', 'checkitem document-syntaxmode-java', 'checkitem document-syntaxmode-js', 'checkitem document-syntaxmode-latex', 'checkitem document-syntaxmode-lisp', 'checkitem document-syntaxmode-lua', 'checkitem document-syntaxmode-make', 'checkitem document-syntaxmode-matlab', ],}, {'menu document_syntaxmode_N-Z' => [ 'checkitem document-syntaxmode-nsis', 'checkitem document-syntaxmode-pascal', 'checkitem document-syntaxmode-perl', 'checkitem document-syntaxmode-php', 'checkitem document-syntaxmode-property', 'checkitem document-syntaxmode-ps', 'checkitem document-syntaxmode-python', 'checkitem document-syntaxmode-ruby', 'checkitem document-syntaxmode-scheme', 'checkitem document-syntaxmode-sh', 'checkitem document-syntaxmode-sql', 'checkitem document-syntaxmode-tcl', 'checkitem document-syntaxmode-tex', 'checkitem document-syntaxmode-vb', 'checkitem document-syntaxmode-vbs', 'checkitem document-syntaxmode-xml', 'checkitem document-syntaxmode-yaml', ],}, undef, {'menu document_syntaxmode_compiled' => [ 'checkitem document-syntaxmode-asm', 'checkitem document-syntaxmode-c', 'checkitem document-syntaxmode-cs', 'checkitem document-syntaxmode-eiffel', 'checkitem document-syntaxmode-forth', 'checkitem document-syntaxmode-fortran', 'checkitem document-syntaxmode-java', 'checkitem document-syntaxmode-pascal', ],}, {'menu document_syntaxmode_interpreted' => [ 'checkitem document-syntaxmode-batch', 'checkitem document-syntaxmode-js', 'checkitem document-syntaxmode-lisp', 'checkitem document-syntaxmode-lua', 'checkitem document-syntaxmode-nsis', 'checkitem document-syntaxmode-perl', 'checkitem document-syntaxmode-php', 'checkitem document-syntaxmode-ps', 'checkitem document-syntaxmode-python', 'checkitem document-syntaxmode-ruby', 'checkitem document-syntaxmode-scheme', 'checkitem document-syntaxmode-sh', 'checkitem document-syntaxmode-tcl', 'checkitem document-syntaxmode-vb', 'checkitem document-syntaxmode-vbs', ],}, {'menu document_syntaxmode_document' => [ 'checkitem document-syntaxmode-context', 'checkitem document-syntaxmode-css', 'checkitem document-syntaxmode-html', 'checkitem document-syntaxmode-latex', 'checkitem document-syntaxmode-ps', 'checkitem document-syntaxmode-tex', ],}, {'menu document_syntaxmode_data_structure' => [ 'checkitem document-syntaxmode-conf', 'checkitem document-syntaxmode-property', 'checkitem document-syntaxmode-sql', 'checkitem document-syntaxmode-xml', 'checkitem document-syntaxmode-yaml', ],}, {'menu document_syntaxmode_web' => [ 'checkitem document-syntaxmode-as', 'checkitem document-syntaxmode-css', 'checkitem document-syntaxmode-html', 'checkitem document-syntaxmode-js', 'checkitem document-syntaxmode-perl', 'checkitem document-syntaxmode-php', 'checkitem document-syntaxmode-vbs', ],}, {'menu document_syntaxmode_special' => [ 'checkitem document-syntaxmode-baan', 'checkitem document-syntaxmode-diff', 'checkitem document-syntaxmode-err', 'checkitem document-syntaxmode-idl', 'checkitem document-syntaxmode-make', 'checkitem document-syntaxmode-matlab', ],}, ],}, {'menu document_encoding' => [ 'radioitem document-encoding-ascii', #'radioitem document-encoding-latin1', 'radioitem document-encoding-utf8', ],}, 'checkitem document-tabs-use', {'menu document_tab_width' => [ 'radioitem document-tabs-width-1', 'radioitem document-tabs-width-2', 'radioitem document-tabs-width-3', 'radioitem document-tabs-width-4', 'radioitem document-tabs-width-5', 'radioitem document-tabs-width-6', 'radioitem document-tabs-width-8', ],}, {'menu document_lineendchar' => [ 'radioitem document-EOL-lf', 'radioitem document-EOL-cr', 'radioitem document-EOL-cr+lf', ],}, {'menu document_readonly' => [ 'radioitem document-readonly-as-attr', 'radioitem document-readonly-on', 'radioitem document-readonly-off', ],}, ],}, {'menu view' => [ {'menu view_window' => [ 'checkitem view-window-fullscreen', 'checkitem view-editpanel-maximize', 'checkitem view-window-stay-on-top', 'checkitem view-window-transparent', ],}, {'menu view_panel' => [ 'checkitem view-panel-output', 'checkitem view-panel-notepad', ],}, {'menu view_bars' => [ 'checkitem view-menubar', 'checkitem view-toolbar', 'checkitem view-tabbar', 'checkitem view-searchbar', 'checkitem view-statusbar', ],}, {'menu view_contextmenu' => [ #'checkitem view-tabbar-contexmenu', {'menu view_editpanel_contexmenu' => [ 'radioitem view-editpanel-contextmenu-custom', 'radioitem view-editpanel-contextmenu-default', 'radioitem view-editpanel-contextmenu-no', ],}, 'checkitem view-editpanel-margin-contexmenu', 'checkitem view-searchbar-contexmenu', 'checkitem view-statusbar-contexmenu', ],}, undef, 'checkitem view-editpanel-margin-marker', 'checkitem view-editpanel-margin-line-number', 'checkitem view-editpanel-margin-text-fold', {'menu view_text_fold' => [ 'item view-editpanel-fold-toggle-here', 'item view-editpanel-fold-toggle-recursively', 'item view-editpanel-fold-toggle-level', 'item view-editpanel-fold-toggle-all', ],}, {'menu view_textmargin' => [ 'radioitem view-editpanel-margin-text-0', 'radioitem view-editpanel-margin-text-1', 'radioitem view-editpanel-margin-text-2', 'radioitem view-editpanel-margin-text-3', 'radioitem view-editpanel-margin-text-4', 'radioitem view-editpanel-margin-text-6', 'radioitem view-editpanel-margin-text-8', 'radioitem view-editpanel-margin-text-10', 'radioitem view-editpanel-margin-text-12', ],}, undef, 'checkitem view-editpanel-right-margin', 'checkitem view-editpanel-line-wrap', 'checkitem view-editpanel-indicator-indention-guide', 'checkitem view-editpanel-indicator-brace-light', 'checkitem view-editpanel-indicator-caret-line', 'checkitem view-editpanel-indicator-EOL', 'checkitem view-editpanel-indicator-whitespace', 'item view-editpanel-font', {'menu view_zoom' => [ 'item view-editpanel-zoom-in', 'item view-editpanel-zoom-out', 'item view-editpanel-zoom-normal', ],}, ],}, {'menu config' => [ 'item view-dialog-config', undef, 'menu config_app_lang', undef, {'menu config_global' => [ 'item config-file-global-open', 'item config-file-global-reload', 'item config-file-global-save', undef, 'item config-file-global-load-from', 'item config-file-global-merge', 'item config-file-global-save-as', undef, 'item config-file-global-load-backup', 'item config-file-global-load-defaults', ],}, {'menu config_interface' => [ 'item config-file-interface-commandlist', 'item config-file-interface-menubar', 'item config-file-interface-contextmenu', 'item config-file-interface-toolbar', #'item config-file-interface-maintoolbar', #'item config-file-interface-searchbar', #'item config-file-interface-statusbar', ],}, 'menu config_localisation', {'menu config_syntaxmode_A-M' => [ 'item config-file-syntaxmode-ada', 'item config-file-syntaxmode-as', 'item config-file-syntaxmode-asm', 'item config-file-syntaxmode-ave', 'item config-file-syntaxmode-baan', 'item config-file-syntaxmode-batch', 'item config-file-syntaxmode-c', 'item config-file-syntaxmode-cs', 'item config-file-syntaxmode-conf', 'item config-file-syntaxmode-context', 'item config-file-syntaxmode-css', 'item config-file-syntaxmode-diff', 'item config-file-syntaxmode-eiffel', 'item config-file-syntaxmode-err', 'item config-file-syntaxmode-forth', 'item config-file-syntaxmode-fortran', 'item config-file-syntaxmode-html', 'item config-file-syntaxmode-idl', 'item config-file-syntaxmode-java', 'item config-file-syntaxmode-js', 'item config-file-syntaxmode-latex', 'item config-file-syntaxmode-lisp', 'item config-file-syntaxmode-lua', 'item config-file-syntaxmode-make', 'item config-file-syntaxmode-matlab', ],}, {'menu config_syntaxmode_N-Z' => [ 'item config-file-syntaxmode-nsis', 'item config-file-syntaxmode-pascal', 'item config-file-syntaxmode-perl', 'item config-file-syntaxmode-php', 'item config-file-syntaxmode-property', 'item config-file-syntaxmode-ps', 'item config-file-syntaxmode-python', 'item config-file-syntaxmode-ruby', 'item config-file-syntaxmode-scheme', 'item config-file-syntaxmode-sh', 'item config-file-syntaxmode-sql', 'item config-file-syntaxmode-tcl', 'item config-file-syntaxmode-tex', 'item config-file-syntaxmode-vb', 'item config-file-syntaxmode-vbs', 'item config-file-syntaxmode-xml', 'item config-file-syntaxmode-yaml', ],}, 'item config-file-templates', ],}, {'menu help' => [ 'item view-documentation-welcome', 'item view-documentation-this-version', 'item view-documentation-navigation-guide', 'item view-documentation-feature-list', 'item view-documentation-advanced-tour', 'item view-documentation-credits', undef, 'item view-webpage-documentation', 'item view-webpage-forum', 'item view-webpage-bug-tracker', 'item view-webpage-feature-wish', undef, 'item view-dialog-keymap', 'item view-dialog-info', ],}, ] } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/CommandList.pm0000644000175000017500000012464411573645310023456 0ustar rizlarizlapackage Kephra::Config::Default::CommandList; our $VERSION = '0.05'; use strict; use warnings; sub get { return { call => { app => { exit => 'Kephra::App::exit()', 'exit-unsaved' => 'Kephra::App::exit_unsaved()', }, file => { new => 'Kephra::File::new()', open => 'Kephra::File::open()', 'open-dir' => 'Kephra::File::open_all_of_dir()', reload => 'Kephra::File::reload_current()', 'reload-all' => 'Kephra::File::reload_all()', insert => 'Kephra::File::insert()', save => { current => 'Kephra::File::save_current()', all => 'Kephra::File::save_all()', as => 'Kephra::File::save_as()', 'copy-as' => 'Kephra::File::save_copy_as()', }, rename => 'Kephra::File::rename()', print => 'Kephra::File::print()', close => { current => 'Kephra::File::close()', all => 'Kephra::File::close_all()', other => 'Kephra::File::close_other()', unsaved => 'Kephra::File::close_unsaved()', 'all-unsaved' => 'Kephra::File::close_all_unsaved()', 'other-unsaved' => 'Kephra::File::close_other_unsaved()', }, session => { open => 'Kephra::File::Session::restore_from()', add => 'Kephra::File::Session::add_from()', save => 'Kephra::File::Session::save_as()', import => 'Kephra::File::Session::import_scite()', export => 'Kephra::File::Session::export_scite()', 'backup-open' => 'Kephra::File::Session::load_backup()', 'backup-save' => 'Kephra::File::Session::save_backup()', 'history-open-all' => 'Kephra::File::History::open_all()', }, }, edit => { changes => { undo => 'Kephra::Edit::History::undo()', redo => 'Kephra::Edit::History::redo()', 'undo-several' => 'Kephra::Edit::History::undo_several()', 'redo-several' => 'Kephra::Edit::History::redo_several()', 'goto-begin' => 'Kephra::Edit::History::undo_begin()', 'goto-end' => 'Kephra::Edit::History::redo_end()', delete => 'Kephra::Edit::History::clear_history()', }, cut => 'Kephra::Edit::cut()', copy => 'Kephra::Edit::copy()', paste => 'Kephra::Edit::paste()', replace => 'Kephra::Edit::replace()', delete => 'Kephra::Edit::clear()', 'delete-tab' => 'Kephra::Edit::del_back_tab()', line => { cut => 'Kephra::Edit::cut_current_line()', copy => 'Kephra::Edit::copy_current_line()', duplicate => 'Kephra::Edit::double_current_line()', replace => 'Kephra::Edit::replace_current_line()', delete => 'Kephra::Edit::del_current_line()', 'delete-left' => 'Kephra::Edit::del_line_left()', 'delete-right' => 'Kephra::Edit::del_line_right()', move => { 'line-up' => 'Kephra::Edit::selection_move_up()', 'line-down' => 'Kephra::Edit::selection_move_down()', 'page-up' => 'Kephra::Edit::selection_move_page_up()', 'page-down' => 'Kephra::Edit::selection_move_page_down()', } }, selection => { convert => { uppercase => 'Kephra::Edit::Convert::upper_case()', lowercase => 'Kephra::Edit::Convert::lower_case()', titlecase => 'Kephra::Edit::Convert::title_case()', sentencecase => 'Kephra::Edit::Convert::sentence_case()', spaces2tabs => 'Kephra::Edit::Convert::spaces2tabs()', tabs2spaces => 'Kephra::Edit::Convert::tabs2spaces()', spaces2entities => 'Kephra::Edit::Convert::spaces2entities()', entities2spaces => 'Kephra::Edit::Convert::entities2spaces()', chars2entities => 'Kephra::Edit::Convert::chars2entities()', entities2chars => 'Kephra::Edit::Convert::entities2chars()', }, comment => { 'add-perl' => "Kephra::Edit::Comment::add_script()", 'del-perl' => "Kephra::Edit::Comment::sub_script()", 'toggle-perl' => "Kephra::Edit::Comment::toggle_script()", 'add-c' => "Kephra::Edit::Comment::add_c( )", 'del-c' => "Kephra::Edit::Comment::sub_c( )", 'add-xml' => "Kephra::Edit::Comment::add_xml( )", 'del-xml' => "Kephra::Edit::Comment::remove_xml( )", }, format => { 'align-on-begin' => 'Kephra::Edit::Format::align_indent()', 'block-on-right-margin' => 'Kephra::Edit::Format::blockformat_LLI()', 'block-on-width' => 'Kephra::Edit::Format::blockformat_custom()', 'linewrap-on-right-margin' => 'Kephra::Edit::Format::linebreak_LLI()', 'linewrap-on-width' => 'Kephra::Edit::Format::linebreak_custom()', 'indent-char' => 'Kephra::Edit::Format::indent_space()', 'dedent-char' => 'Kephra::Edit::Format::dedent_space()', 'indent-tab' => 'Kephra::Edit::Format::indent_tab()', 'dedent-tab' => 'Kephra::Edit::Format::dedent_tab()', 'del-trailing-whitespace' => 'Kephra::Edit::Format::del_trailing_spaces()', 'join-lines' => 'Kephra::Edit::Format::join_lines()', }, move => { 'char-left' => 'Kephra::Edit::selection_move_left()', 'char-right' => 'Kephra::Edit::selection_move_right()', 'line-up' => 'Kephra::Edit::selection_move_up()', 'line-down' => 'Kephra::Edit::selection_move_down()', 'page-up' => 'Kephra::Edit::selection_move_page_up()', 'page-down' => 'Kephra::Edit::selection_move_page_down()', }, }, document => { convert => { indent2spaces => 'Kephra::Document::convert_indent2spaces()', indent2tabs => 'Kephra::Document::convert_indent2tabs()', spaces2tabs => 'Kephra::Document::convert_spaces2tabs()', tabs2spaces => 'Kephra::Document::convert_tabs2spaces()', }, format => { 'del-trailing-whitespace' => 'Kephra::Document::del_trailing_spaces()', }, }, }, select => { document => 'Kephra::Edit::Select::document()', 'toggle-simple' => 'Kephra::Edit::Select::toggle_simple()', 'toggle-content' => 'Kephra::Edit::Select::toggle_content()', 'to-block-begin' => 'Kephra::Edit::Select::to_block_begin()', 'to-block-end' => 'Kephra::Edit::Select::to_block_end()', }, search => { attribute => { 'autowrap-switch' => "Kephra::Edit::Search::switch_attribute('auto_wrap')", 'incremental-switch' => "Kephra::Edit::Search::switch_attribute('incremental')", 'regex-switch' => "Kephra::Edit::Search::switch_attribute('match_regex')", match => { 'case-switch' => "Kephra::Edit::Search::switch_attribute('match_case')", 'whole-word-switch' => "Kephra::Edit::Search::switch_attribute('match_whole_word')", 'word-begin-switch' => "Kephra::Edit::Search::switch_attribute('match_word_begin')", }, }, range => { selection => "Kephra::Edit::Search::set_range('selection')", document => "Kephra::Edit::Search::set_range('document')", 'open-docs' => "Kephra::Edit::Search::set_range('open_docs')", }, }, find => { prev => 'Kephra::Edit::Search::find_prev()', next => 'Kephra::Edit::Search::find_next()', first => 'Kephra::Edit::Search::find_first()', last => 'Kephra::Edit::Search::find_last()', selection => 'Kephra::Edit::Search::set_selection_as_find_item()', }, replace => { prev => 'Kephra::Edit::Search::replace_back()', next => 'Kephra::Edit::Search::replace_fore()', all => 'Kephra::Edit::Search::replace_all()', 'with-confirm' => 'Kephra::Edit::Search::replace_confirm()', selection => 'Kephra::Edit::Search::set_selection_as_replace_item()', }, goto => { block => { down => 'Kephra::Edit::Goto::next_block()', up => 'Kephra::Edit::Goto::prev_block()', }, brace => { down => 'Kephra::Edit::Goto::next_related_brace()', left => 'Kephra::Edit::Goto::prev_brace()', right => 'Kephra::Edit::Goto::next_brace()', up => 'Kephra::Edit::Goto::prev_related_brace()', }, 'last-edit' => 'Kephra::Edit::Goto::last_edit()', line => 'Kephra::Edit::Goto::line()', }, bookmark => { goto => { 1 => 'Kephra::Edit::Marker::goto_bookmark(1)', 2 => 'Kephra::Edit::Marker::goto_bookmark(2)', 3 => 'Kephra::Edit::Marker::goto_bookmark(3)', 4 => 'Kephra::Edit::Marker::goto_bookmark(4)', 5 => 'Kephra::Edit::Marker::goto_bookmark(5)', 6 => 'Kephra::Edit::Marker::goto_bookmark(6)', 7 => 'Kephra::Edit::Marker::goto_bookmark(7)', 8 => 'Kephra::Edit::Marker::goto_bookmark(8)', 9 => 'Kephra::Edit::Marker::goto_bookmark(9)', 0 => 'Kephra::Edit::Marker::goto_bookmark(0)', }, toggle => { 1 => 'Kephra::Edit::Marker::toggle_bookmark(1)', 2 => 'Kephra::Edit::Marker::toggle_bookmark(2)', 3 => 'Kephra::Edit::Marker::toggle_bookmark(3)', 4 => 'Kephra::Edit::Marker::toggle_bookmark(4)', 5 => 'Kephra::Edit::Marker::toggle_bookmark(5)', 6 => 'Kephra::Edit::Marker::toggle_bookmark(6)', 7 => 'Kephra::Edit::Marker::toggle_bookmark(7)', 8 => 'Kephra::Edit::Marker::toggle_bookmark(8)', 9 => 'Kephra::Edit::Marker::toggle_bookmark(9)', 0 => 'Kephra::Edit::Marker::toggle_bookmark(0)', }, 'delete-doc' => 'Kephra::Edit::Marker::delete_all_bookmarks_in_doc()', 'delete-all' => 'Kephra::Edit::Marker::delete_all_bookmarks()', }, marker => { 'goto-prev-doc' => 'Kephra::Edit::Marker::goto_prev_marker_in_doc()', 'goto-next-doc' => 'Kephra::Edit::Marker::goto_next_marker_in_doc()', 'goto-prev-all' => 'Kephra::Edit::Marker::goto_prev_marker()', 'goto-next-all' => 'Kephra::Edit::Marker::goto_next_marker()', 'toggle-here' => '&Kephra::Edit::Marker::toggle_marker', 'delete-doc' => 'Kephra::Edit::Marker::delete_all_marker_in_doc()', 'delete-all' => 'Kephra::Edit::Marker::delete_all_marker()', }, tool => { 'interpreter-run-document' => 'Kephra::App::Panel::Output::run()', 'interpreter-stop-document' => 'Kephra::App::Panel::Output::stop()', 'output' => { 'inc' => 'Kephra::App::Panel::Output::display_inc()', 'env' => 'Kephra::App::Panel::Output::display_env()', 'selection-dec' => 'Kephra::App::Panel::Output::display_selection_dec()', 'selection-hex' => 'Kephra::App::Panel::Output::display_selection_hex()', }, note => 'Kephra::App::Panel::Notepad::note()', 'note-selection' => 'Kephra::App::Panel::Notepad::append_selection()', 'choose-color' => 'Kephra::Dialog::choose_color()', 'insert-time-date' => 'Kephra::Edit::::Special::insert_time_date()', perl => { 'insert-last-var' => 'Kephra::Edit::::Special::insert_last_perl_var()', 'copy-string' => 'Kephra::Edit::::Special::copy_surrounding_string()', }, 'auto-indention' => 'Kephra::App::EditPanel::switch_autoindention()', 'brace-indention' => 'Kephra::App::EditPanel::switch_braceindention()', 'brace-completion' => 'Kephra::App::EditPanel::switch_bracecompletion()', }, document => { 'auto-indention' => 'Kephra::Document::Property::switch_autoindention()', 'brace-indention' => 'Kephra::Document::Property::switch_braceindention()', change => { back => 'Kephra::Document::Change::switch_back()', prev => 'Kephra::Document::Change::tab_left()', next => 'Kephra::Document::Change::tab_right()', }, EOL => { 'auto' => "Kephra::Document::Property::convert_EOL('auto')", 'cr+lf' => "Kephra::Document::Property::convert_EOL('cr+lf')", cr => "Kephra::Document::Property::convert_EOL('cr')", lf => "Kephra::Document::Property::convert_EOL('lf')", }, encoding => { 'ascii' => "Kephra::Document::Property::set_codepage('ascii')", 'latin1' => "Kephra::Document::Property::set_codepage('latin1')", 'utf8' => "Kephra::Document::Property::set_codepage('utf8')", }, move => { left => 'Kephra::Document::Change::move_left()', right => 'Kephra::Document::Change::move_right()', }, readonly => { 'as-attr' => "Kephra::Document::Property::set_readonly('protect')", on => "Kephra::Document::Property::set_readonly('on')", off => "Kephra::Document::Property::set_readonly('off')", }, syntaxmode => { auto => "Kephra::Document::SyntaxMode::set('auto')", none => "Kephra::Document::SyntaxMode::set('none')", ada => "Kephra::Document::SyntaxMode::set('ada')", as => "Kephra::Document::SyntaxMode::set('as')", asm => "Kephra::Document::SyntaxMode::set('asm')", ave => "Kephra::Document::SyntaxMode::set('ave')", baan => "Kephra::Document::SyntaxMode::set('baan')", batch => "Kephra::Document::SyntaxMode::set('batch')", c => "Kephra::Document::SyntaxMode::set('cpp')", conf => "Kephra::Document::SyntaxMode::set('conf')", context => "Kephra::Document::SyntaxMode::set('context')", cs => "Kephra::Document::SyntaxMode::set('cs')", css => "Kephra::Document::SyntaxMode::set('css')", diff => "Kephra::Document::SyntaxMode::set('diff')", eiffel => "Kephra::Document::SyntaxMode::set('eiffel')", err => "Kephra::Document::SyntaxMode::set('err')", forth => "Kephra::Document::SyntaxMode::set('forth')", fortran => "Kephra::Document::SyntaxMode::set('fortran')", html => "Kephra::Document::SyntaxMode::set('html')", idl => "Kephra::Document::SyntaxMode::set('idl')", java => "Kephra::Document::SyntaxMode::set('java')", js => "Kephra::Document::SyntaxMode::set('js')", latex => "Kephra::Document::SyntaxMode::set('latex')", lisp => "Kephra::Document::SyntaxMode::set('lisp')", lua => "Kephra::Document::SyntaxMode::set('lua')", make => "Kephra::Document::SyntaxMode::set('make')", matlab => "Kephra::Document::SyntaxMode::set('matlab')", nsis => "Kephra::Document::SyntaxMode::set('nsis')", pascal => "Kephra::Document::SyntaxMode::set('pascal')", perl => "Kephra::Document::SyntaxMode::set('perl')", php => "Kephra::Document::SyntaxMode::set('php')", property => "Kephra::Document::SyntaxMode::set('property')", ps => "Kephra::Document::SyntaxMode::set('ps')", python => "Kephra::Document::SyntaxMode::set('python')", ruby => "Kephra::Document::SyntaxMode::set('ruby')", scheme => "Kephra::Document::SyntaxMode::set('scheme')", sh => "Kephra::Document::SyntaxMode::set('sh')", sql => "Kephra::Document::SyntaxMode::set('sql')", tcl => "Kephra::Document::SyntaxMode::set('tcl')", tex => "Kephra::Document::SyntaxMode::set('tex')", vb => "Kephra::Document::SyntaxMode::set('vb')", vbs => "Kephra::Document::SyntaxMode::set('vbs')", xml => "Kephra::Document::SyntaxMode::set('xml')", yaml => "Kephra::Document::SyntaxMode::set('yaml')", }, tabs => { hard => 'Kephra::Document::Property::set_tabs_hard()', soft => 'Kephra::Document::Property::set_tabs_soft()', use => 'Kephra::Document::Property::switch_tab_mode()', width => { 1 => 'Kephra::Document::Property::set_tab_size(1)', 2 => 'Kephra::Document::Property::set_tab_size(2)', 3 => 'Kephra::Document::Property::set_tab_size(3)', 4 => 'Kephra::Document::Property::set_tab_size(4)', 5 => 'Kephra::Document::Property::set_tab_size(5)', 6 => 'Kephra::Document::Property::set_tab_size(6)', 8 => 'Kephra::Document::Property::set_tab_size(8)', }, }, }, view => { dialog => { config => 'Kephra::Dialog::config()', find => 'Kephra::Dialog::find()', replace => 'Kephra::Dialog::replace()', info => 'Kephra::Dialog::info()', keymap => 'Kephra::Help::keyboard_map()', }, documentation => { 'advanced-tour' => 'Kephra::Help::advanced_tour()', credits => 'Kephra::Help::credits()', 'feature-list' => 'Kephra::Help::feature_tour()', 'navigation-guide' => 'Kephra::Help::navigation_guide', welcome => 'Kephra::Help::welcome()', 'this-version' => 'Kephra::Help::version_text()', }, editpanel => { contextmenu => { custom => "Kephra::App::EditPanel::set_contextmenu('custom')", no => "Kephra::App::EditPanel::set_contextmenu('none')", default => "Kephra::App::EditPanel::set_contextmenu('default')", }, indicator => { EOL => 'Kephra::App::EditPanel::Indicator::switch_EOL_visibility()', 'brace-light' => 'Kephra::App::EditPanel::Indicator::switch_bracelight()', 'caret-line' => 'Kephra::App::EditPanel::Indicator::switch_caret_line_visibility()', 'indention-guide' => 'Kephra::App::EditPanel::Indicator::switch_indention_guide_visibility()', 'right-margin' => 'Kephra::App::EditPanel::Indicator::switch_LLI_visibility()', whitespace => 'Kephra::App::EditPanel::Indicator::switch_whitespace_visibility()', }, font => 'Kephra::App::EditPanel::change_font()', 'line-wrap' => 'Kephra::App::EditPanel::switch_autowrap_mode()', margin => { contexmenu => 'Kephra::App::EditPanel::Margin::switch_contextmenu_visibility()', 'line-number' => 'Kephra::App::EditPanel::Margin::switch_line_number()', marker => 'Kephra::App::EditPanel::Margin::switch_marker()', 'text-fold' => 'Kephra::App::EditPanel::Margin::switch_fold()', text => { 0 => 'Kephra::App::EditPanel::Margin::set_text_width(0)', 1 => 'Kephra::App::EditPanel::Margin::set_text_width(1)', 2 => 'Kephra::App::EditPanel::Margin::set_text_width(2)', 3 => 'Kephra::App::EditPanel::Margin::set_text_width(3)', 4 => 'Kephra::App::EditPanel::Margin::set_text_width(4)', 6 => 'Kephra::App::EditPanel::Margin::set_text_width(6)', 8 => 'Kephra::App::EditPanel::Margin::set_text_width(8)', 10 => 'Kephra::App::EditPanel::Margin::set_text_width(10)', 12 => 'Kephra::App::EditPanel::Margin::set_text_width(12)', }, }, 'fold-toggle' => { all => 'Kephra::App::EditPanel::Fold::toggle_all()', here => 'Kephra::App::EditPanel::Fold::toggle_here()', level => 'Kephra::App::EditPanel::Fold::toggle_level()', recursively => 'Kephra::App::EditPanel::Fold::toggle_recursively()', }, maximize => 'Kephra::App::Window::switch_max_editpanel_mode()', zoom => { in => 'Kephra::App::EditPanel::zoom_in()', normal => 'Kephra::App::EditPanel::zoom_normal()', out => 'Kephra::App::EditPanel::zoom_out()', }, }, panel => { notepad => 'Kephra::App::Panel::Notepad::switch_visibility()', output => 'Kephra::App::Panel::Output::switch_visibility()', }, menubar => 'Kephra::App::MenuBar::switch_visibility()', searchbar => 'Kephra::App::SearchBar::switch_visibility()', 'searchbar-goto' => 'Kephra::App::SearchBar::enter_focus()', 'searchbar-contexmenu' => 'Kephra::App::SearchBar::switch_contextmenu_visibility()', statusbar => 'Kephra::App::StatusBar::switch_visibility()', 'statusbar-contexmenu' => 'Kephra::App::StatusBar::switch_contextmenu_visibility()', 'statusbar-info' => { date => "Kephra::App::StatusBar::set_info_msg_nr(2)", length => "Kephra::App::StatusBar::set_info_msg_nr(1)", none => "Kephra::App::StatusBar::set_info_msg_nr('0')", }, tabbar => 'Kephra::App::TabBar::switch_visibility()', 'tabbar-contexmenu' => 'Kephra::App::TabBar::switch_contextmenu_visibility()', toolbar => 'Kephra::App::MainToolBar::switch_visibility()', webpage => { 'bug-tracker' => 'Kephra::Help::bug_tracker()', documentation => 'Kephra::Help::online_documentation()', 'feature-wish' => 'Kephra::Help::feature_wish()', forum => 'Kephra::Help::forum_site()', }, window => { fullscreen => 'Kephra::App::Window::switch_fullscreen_mode()', restore => 'Kephra::App::Window::restore_normal_mode()', 'stay-on-top' => 'Kephra::App::Window::switch_on_top_mode()', transparent => 'Kephra::App::Window::switch_transparency_mode()', 'top-transparent' => 'Kephra::App::Window::switch_top_and_transparency_mode()', }, }, config => { file => { global => { open => 'Kephra::Config::Global::open_current_file()', reload => 'Kephra::Config::Global::reload_current()', 'load-from' => 'Kephra::Config::Global::load_from()', 'load-backup' => 'Kephra::Config::Global::load_backup_file()', 'load-defaults' => 'Kephra::Config::Global::load_defaults()', merge => 'Kephra::Config::Global::merge_with()', save => 'Kephra::Config::Global::save()', 'save-as' => 'Kephra::Config::Global::save_as()', }, interface => { commandlist => "Kephra::Config::Interface::open_file('commandlist')", menubar => "Kephra::Config::Interface::open_file('menubar')", contextmenu => "Kephra::Config::Interface::open_file('contextmenu')", toolbar => "Kephra::Config::Interface::open_file('toolbar')", maintoolbar => "Kephra::Config::Interface::open_file('maintoolbar')", searchbar => "Kephra::Config::Interface::open_file('searchbar')", statusbar => "Kephra::Config::Interface::open_file('statusbar')", }, syntaxmode => { ada => "Kephra::Document::SyntaxMode::open_file('ada')", as => "Kephra::Document::SyntaxMode::open_file('as')", asm => "Kephra::Document::SyntaxMode::open_file('asm')", ave => "Kephra::Document::SyntaxMode::open_file('ave')", baan => "Kephra::Document::SyntaxMode::open_file('baan')", batch => "Kephra::Document::SyntaxMode::open_file('batch')", c => "Kephra::Document::SyntaxMode::open_file('cpp')", conf => "Kephra::Document::SyntaxMode::open_file('conf')", context => "Kephra::Document::SyntaxMode::open_file('context')", cs => "Kephra::Document::SyntaxMode::open_file('cs')", css => "Kephra::Document::SyntaxMode::open_file('css')", diff => "Kephra::Document::SyntaxMode::open_file('diff')", eiffel => "Kephra::Document::SyntaxMode::open_file('eiffel')", err => "Kephra::Document::SyntaxMode::open_file('err')", forth => "Kephra::Document::SyntaxMode::open_file('forth')", fortran => "Kephra::Document::SyntaxMode::open_file('fortran')", html => "Kephra::Document::SyntaxMode::open_file('html')", idl => "Kephra::Document::SyntaxMode::open_file('idl')", java => "Kephra::Document::SyntaxMode::open_file('java')", js => "Kephra::Document::SyntaxMode::open_file('js')", latex => "Kephra::Document::SyntaxMode::open_file('latex')", lisp => "Kephra::Document::SyntaxMode::open_file('lisp')", lua => "Kephra::Document::SyntaxMode::open_file('lua')", make => "Kephra::Document::SyntaxMode::open_file('make')", matlab => "Kephra::Document::SyntaxMode::open_file('matlab')", nsis => "Kephra::Document::SyntaxMode::open_file('nsis')", pascal => "Kephra::Document::SyntaxMode::open_file('pascal')", perl => "Kephra::Document::SyntaxMode::open_file('perl')", php => "Kephra::Document::SyntaxMode::open_file('php')", property => "Kephra::Document::SyntaxMode::open_file('property')", ps => "Kephra::Document::SyntaxMode::open_file('ps')", python => "Kephra::Document::SyntaxMode::open_file('python')", ruby => "Kephra::Document::SyntaxMode::open_file('ruby')", scheme => "Kephra::Document::SyntaxMode::open_file('scheme')", sh => "Kephra::Document::SyntaxMode::open_file('sh')", sql => "Kephra::Document::SyntaxMode::open_file('sql')", tcl => "Kephra::Document::SyntaxMode::open_file('tcl')", tex => "Kephra::Document::SyntaxMode::open_file('tex')", vb => "Kephra::Document::SyntaxMode::open_file('vb')", vbs => "Kephra::Document::SyntaxMode::open_file('vbs')", xml => "Kephra::Document::SyntaxMode::open_file('xml')", yaml => "Kephra::Document::SyntaxMode::open_file('yaml')", }, templates => 'Kephra::Config::Global::open_templates_file()', }, }, }, enable => { file => { 'save-current' => 'Kephra::File::can_save()', 'save-all' => 'Kephra::File::can_save_all()', }, edit => { changes => { undo => 'Kephra::Edit::History::can_undo()', redo => 'Kephra::Edit::History::can_redo()', 'undo-several' => 'Kephra::Edit::History::can_undo()', 'redo-several' => 'Kephra::Edit::History::can_redo()', 'goto-begin' => 'Kephra::Edit::History::can_undo()', 'goto-end' => 'Kephra::Edit::History::can_redo()', delete => 'Kephra::Edit::History::can_undo() or Kephra::Edit::History::can_redo()', }, cut => 'Kephra::Edit::can_copy()', copy => 'Kephra::Edit::can_copy()', paste => 'Kephra::Edit::can_paste()', replace => 'Kephra::Edit::can_copy()', delete => 'Kephra::Edit::can_copy()', 'line-replace' => 'Kephra::Edit::can_paste()', selection => { move => { 'char-left' => 'Kephra::Edit::can_copy()', 'char-right' => 'Kephra::Edit::can_copy()', 'line-up' => 'Kephra::Edit::can_copy()', 'line-down' => 'Kephra::Edit::can_copy()', 'page-up' => 'Kephra::Edit::can_copy()', 'page-down' => 'Kephra::Edit::can_copy()', }, }, }, find => { prev => 'Kephra::Edit::Search::item_findable()', next => 'Kephra::Edit::Search::item_findable()', first => 'Kephra::Edit::Search::item_findable()', last => 'Kephra::Edit::Search::item_findable()', selection => 'Kephra::Edit::can_copy()', }, replace => { prev => 'Kephra::Edit::Search::_exist_find_item()', next => 'Kephra::Edit::Search::_exist_find_item()', all => 'Kephra::Edit::Search::_exist_find_item()', 'with-confirm' => 'Kephra::Edit::Search::_exist_find_item()', selection => 'Kephra::Edit::can_copy()', }, 'tool-interpreter' => { 'run-document' => '! Kephra::App::Panel::Output::is_running()', 'stop-document' => 'Kephra::App::Panel::Output::is_running()', }, }, enable_event => { 'file-save-current' => 'document.savepoint', 'file-save-all' => 'document.savepoint', edit => { changes => { undo => 'document.savepoint', redo => 'document.savepoint,document.text.change', }, cut => 'document.text.select', copy => 'document.text.select', paste => 'document.text.select', replace => 'document.text.select', delete => 'document.text.select', }, find => { prev => 'find.item.changed', next => 'find.item.changed', first => 'find.item.changed', last => 'find.item.changed', selection => 'document.text.select', }, replace => { prev => 'find.item.changed', next => 'find.item.changed', all => 'find.item.changed', 'with-confirm' => 'find.item.changed', selection => 'document.text.select', }, 'tool-interpreter' => { 'run-document' => 'panel.output.run', 'stop-document' => 'panel.output.run', }, }, state => { search => { attribute => { 'autowrap-switch' => "Kephra::Edit::Search::get_attribute('auto_wrap');", 'incremental-switch' => "Kephra::Edit::Search::get_attribute('incremental');", 'regex-switch' => "Kephra::Edit::Search::get_attribute('match_regex');", match => { 'case-switch' => "Kephra::Edit::Search::get_attribute('match_case');", 'whole-word-switch' => "Kephra::Edit::Search::get_attribute('match_whole_word');", 'word-begin-switch' => "Kephra::Edit::Search::get_attribute('match_word_begin');", }, }, range => { selection => "Kephra::Edit::Search::get_range() eq 'selection';", document => "Kephra::Edit::Search::get_range() eq 'document';", 'open-docs' => "Kephra::Edit::Search::get_range() eq 'open_docs';", }, }, bookmark => { goto => { 1 => 'Kephra::Edit::Marker::bookmark_is_set(1)', 2 => 'Kephra::Edit::Marker::bookmark_is_set(2)', 3 => 'Kephra::Edit::Marker::bookmark_is_set(3)', 4 => 'Kephra::Edit::Marker::bookmark_is_set(4)', 5 => 'Kephra::Edit::Marker::bookmark_is_set(5)', 6 => 'Kephra::Edit::Marker::bookmark_is_set(6)', 7 => 'Kephra::Edit::Marker::bookmark_is_set(7)', 8 => 'Kephra::Edit::Marker::bookmark_is_set(8)', 9 => 'Kephra::Edit::Marker::bookmark_is_set(9)', 0 => 'Kephra::Edit::Marker::bookmark_is_set(0)', }, }, tool => { 'auto-indention' => 'Kephra::App::EditPanel::get_autoindention()', 'brace-indention' => 'Kephra::App::EditPanel::get_braceindention()', 'brace-completion' => 'Kephra::App::EditPanel::get_bracecompletion()', }, document => { EOL => { 'cr+lf' => "Kephra::Document::Property::get_EOL_mode() eq 'cr+lf'", cr => "Kephra::Document::Property::get_EOL_mode() eq 'cr'", lf => "Kephra::Document::Property::get_EOL_mode() eq 'lf'", }, encoding => { 'ascii' => "Kephra::Document::Property::get_codepage() eq 'ascii'", 'utf8' => "Kephra::Document::Property::get_codepage() eq 'utf8'", }, readonly => { 'as-attr' => "Kephra::Document::Property::get_readonly() eq 'protect';", on => "Kephra::Document::Property::get_readonly() eq 'on';", off => "Kephra::Document::Property::get_readonly() eq 'off';", }, syntaxmode => { none => "Kephra::Document::SyntaxMode::_ID() eq 'none';", ada => "Kephra::Document::SyntaxMode::_ID() eq 'ada';", as => "Kephra::Document::SyntaxMode::_ID() eq 'as';", asm => "Kephra::Document::SyntaxMode::_ID() eq 'asm';", ave => "Kephra::Document::SyntaxMode::_ID() eq 'ave';", baan => "Kephra::Document::SyntaxMode::_ID() eq 'baan';", batch => "Kephra::Document::SyntaxMode::_ID() eq 'batch';", c => "Kephra::Document::SyntaxMode::_ID() eq 'cpp';", conf => "Kephra::Document::SyntaxMode::_ID() eq 'conf';", context => "Kephra::Document::SyntaxMode::_ID() eq 'context';", cs => "Kephra::Document::SyntaxMode::_ID() eq 'cs';", css => "Kephra::Document::SyntaxMode::_ID() eq 'css';", diff => "Kephra::Document::SyntaxMode::_ID() eq 'diff';", eiffel => "Kephra::Document::SyntaxMode::_ID() eq 'eiffel';", err => "Kephra::Document::SyntaxMode::_ID() eq 'err';", forth => "Kephra::Document::SyntaxMode::_ID() eq 'forth';", fortran => "Kephra::Document::SyntaxMode::_ID() eq 'fortran';", html => "Kephra::Document::SyntaxMode::_ID() eq 'html';", idl => "Kephra::Document::SyntaxMode::_ID() eq 'idl';", java => "Kephra::Document::SyntaxMode::_ID() eq 'java';", js => "Kephra::Document::SyntaxMode::_ID() eq 'js';", latex => "Kephra::Document::SyntaxMode::_ID() eq 'latex';", lisp => "Kephra::Document::SyntaxMode::_ID() eq 'lisp';", lua => "Kephra::Document::SyntaxMode::_ID() eq 'lua';", make => "Kephra::Document::SyntaxMode::_ID() eq 'make';", matlab => "Kephra::Document::SyntaxMode::_ID() eq 'matlab';", nsis => "Kephra::Document::SyntaxMode::_ID() eq 'nsis';", pascal => "Kephra::Document::SyntaxMode::_ID() eq 'pascal';", perl => "Kephra::Document::SyntaxMode::_ID() eq 'perl';", php => "Kephra::Document::SyntaxMode::_ID() eq 'php';", property => "Kephra::Document::SyntaxMode::_ID() eq 'property';", ps => "Kephra::Document::SyntaxMode::_ID() eq 'ps';", python => "Kephra::Document::SyntaxMode::_ID() eq 'python';", ruby => "Kephra::Document::SyntaxMode::_ID() eq 'ruby';", scheme => "Kephra::Document::SyntaxMode::_ID() eq 'scheme';", sh => "Kephra::Document::SyntaxMode::_ID() eq 'sh';", sql => "Kephra::Document::SyntaxMode::_ID() eq 'sql';", tcl => "Kephra::Document::SyntaxMode::_ID() eq 'tcl';", tex => "Kephra::Document::SyntaxMode::_ID() eq 'tex';", vb => "Kephra::Document::SyntaxMode::_ID() eq 'vb';", vbs => "Kephra::Document::SyntaxMode::_ID() eq 'vbs';", xml => "Kephra::Document::SyntaxMode::_ID() eq 'xml';", yaml => "Kephra::Document::SyntaxMode::_ID() eq 'yaml';", }, tabs => { soft => 'Kephra::Document::Property::get_tab_mode() == 0', hard => 'Kephra::Document::Property::get_tab_mode() == 1', use => 'Kephra::Document::Property::get_tab_mode()', width => { 1 => 'Kephra::Document::Property::get_tab_size() == 1', 2 => 'Kephra::Document::Property::get_tab_size() == 2', 3 => 'Kephra::Document::Property::get_tab_size() == 3', 4 => 'Kephra::Document::Property::get_tab_size() == 4', 5 => 'Kephra::Document::Property::get_tab_size() == 5', 6 => 'Kephra::Document::Property::get_tab_size() == 6', 8 => 'Kephra::Document::Property::get_tab_size() == 8', }, }, }, view => { editpanel => { indicator => { EOL => 'Kephra::App::EditPanel::Indicator::EOL_visible()', 'brace-light' => 'Kephra::App::EditPanel::Indicator::bracelight_visible()', 'caret-line' => 'Kephra::App::EditPanel::Indicator::caret_line_visible()', 'indention-guide' => 'Kephra::App::EditPanel::Indicator::indention_guide_visible()', 'right-margin' => 'Kephra::App::EditPanel::Indicator::LLI_visible()', whitespace => 'Kephra::App::EditPanel::Indicator::whitespace_visible()', }, 'line-wrap' => 'Kephra::App::EditPanel::get_autowrap_mode()', contextmenu => { custom => "Kephra::App::EditPanel::get_contextmenu() eq 'custom';", no => "Kephra::App::EditPanel::get_contextmenu() eq 'none';", default => "Kephra::App::EditPanel::get_contextmenu() eq 'default';", }, margin => { contexmenu => 'Kephra::App::EditPanel::Margin::get_contextmenu_visibility()', 'line-number' => 'Kephra::App::EditPanel::Margin::line_number_visible()', marker => 'Kephra::App::EditPanel::Margin::marker_visible()', 'text-fold' => 'Kephra::App::EditPanel::Margin::fold_visible()', text => { 0 => 'Kephra::App::EditPanel::Margin::get_text_width() == 0', 1 => 'Kephra::App::EditPanel::Margin::get_text_width() == 1', 2 => 'Kephra::App::EditPanel::Margin::get_text_width() == 2', 3 => 'Kephra::App::EditPanel::Margin::get_text_width() == 3', 4 => 'Kephra::App::EditPanel::Margin::get_text_width() == 4', 6 => 'Kephra::App::EditPanel::Margin::get_text_width() == 6', 8 => 'Kephra::App::EditPanel::Margin::get_text_width() == 8', 10 => 'Kephra::App::EditPanel::Margin::get_text_width() == 10', 12 => 'Kephra::App::EditPanel::Margin::get_text_width() == 12', }, }, maximize => 'Kephra::App::Window::get_max_editpanel_mode()', }, panel => { notepad => 'Kephra::App::Panel::Notepad::get_visibility()', output => 'Kephra::App::Panel::Output::get_visibility()', }, menubar => 'Kephra::App::MenuBar::get_visibility()', statusbar => 'Kephra::App::StatusBar::get_visibility()', 'statusbar-contexmenu' => 'Kephra::App::StatusBar::get_contextmenu_visibility()', 'statusbar-info' => { date => 'Kephra::App::StatusBar::info_msg_nr() == 2', length => 'Kephra::App::StatusBar::info_msg_nr() == 1', none => 'Kephra::App::StatusBar::info_msg_nr() == 0', }, 'searchbar' => 'Kephra::App::SearchBar::get_visibility()', 'searchbar-contexmenu' => 'Kephra::App::SearchBar::get_contextmenu_visibility()', tabbar => 'Kephra::App::TabBar::get_visibility()', 'tabbar-contexmenu' => 'Kephra::App::TabBar::get_contextmenu_visibility()', 'toolbar' => 'Kephra::App::MainToolBar::get_visibility()', window => { fullscreen => 'Kephra::App::Window::get_fullscreen_mode()', 'stay-on-top' => 'Kephra::App::Window::get_on_top_mode()', transparent => 'Kephra::App::Window::get_transparency_mode()', }, }, }, state_event => { view => { 'editpanel-line-wrap' => 'editpanel.autowrap', 'window-stay-on-top' => 'app.window.ontop', }, }, icon => { 'app-exit' => 'app-exit.xpm', file => { new => 'file-new.xpm', open => 'file-open.xpm', 'save-current' => 'file-save.xpm', 'save-all' => 'file-save-all.xpm', print => 'file-print.xpm', 'close-current' => 'file-close.xpm', }, edit => { changes => { undo => 'edit-undo.xpm', redo => 'edit-redo.xpm', }, cut => 'edit-cut.xpm', copy => 'edit-copy.xpm', paste => 'edit-paste.xpm', replace => 'edit-replace.xpm', delete => 'edit-delete.xpm', }, find => { prev => 'find-previous.xpm', next => 'find-next.xpm', }, goto => { 'last-edit' => 'goto-last-edit.xpm', line => 'goto-line.xpm', }, marker => { 'goto-prev-all' => 'marker-previous.xpm', 'goto-next-all' => 'marker-next.xpm', 'toggle-here' => 'marker.xpm', }, 'bookmark-goto' => { 1 => 'bookmark1.xpm', 2 => 'bookmark2.xpm', 3 => 'bookmark3.xpm', 4 => 'bookmark4.xpm', 5 => 'bookmark5.xpm', 6 => 'bookmark6.xpm', 7 => 'bookmark7.xpm', 8 => 'bookmark8.xpm', 9 => 'bookmark9.xpm', 0 => 'bookmark0.xpm', }, 'bookmark-toggle' => { 1 => 'bookmark1.xpm', 2 => 'bookmark2.xpm', 3 => 'bookmark3.xpm', 4 => 'bookmark4.xpm', 5 => 'bookmark5.xpm', 6 => 'bookmark6.xpm', 7 => 'bookmark7.xpm', 8 => 'bookmark8.xpm', 9 => 'bookmark9.xpm', 0 => 'bookmark0.xpm', }, tool => { 'interpreter-run-document' => 'run-skript.xpm', 'choose-color' => 'colorpicker.xpm', }, view => { dialog => { config => 'config-preferences.xpm', find => 'find-start.xpm', info => 'help-info.xpm', keymap => 'help-keyboard.xpm', replace => 'find-start.xpm', }, 'editpanel-line-wrap' => 'line-wrap.xpm', 'panel-notepad' => 'note.xpm', 'panel-output' => 'output-panel.xpm', 'searchbar' => 'panel-close.xpm', 'window-stay-on-top' => 'stay-on-top.xpm', }, }, key => { 'app-exit' => 'alt+q', file => { new => 'ctrl+n', open => 'ctrl+o', reload => 'ctrl+shift+o', 'reload-all' => 'ctrl+alt+o', insert => 'ctrl+shift+i', 'save-current' => 'ctrl+s', 'save-all' => 'ctrl+alt+s', 'save-as' => 'ctrl+shift+s', 'save-copy-as' => 'alt+shift+s', rename => 'ctrl+alt+shift+s', print => 'ctrl+p', close => { current => 'ctrl+q', other => 'ctrl+shift+q', }, }, edit => { changes => { undo => 'ctrl+z', redo => 'ctrl+shift+z', 'undo-several' => 'alt+z', 'redo-several' => 'alt+shift+z', 'goto-begin' => 'ctrl+alt+z', 'goto-end' => 'ctrl+alt+shift+z', }, cut => 'ctrl+x', copy => 'ctrl+c', paste => 'ctrl+v', replace => 'ctrl+w', delete => 'del', 'delete-tab' => 'shift+back', line => { cut => 'ctrl+shift+x', copy => 'ctrl+shift+c', duplicate => 'ctrl+shift+d', replace => 'ctrl+shift+w', delete => 'ctrl+shift+del', 'delete-left' => 'ctrl+shift+l', 'delete-right' => 'ctrl+shift+r', move => { 'line-up' => 'ctrl+alt+up', 'line-down' => 'ctrl+alt+down', 'page-up' => 'ctrl+alt+pgup', 'page-down' => 'ctrl+alt+pgdn', }, }, selection => { comment => { 'add-perl' => 'ctrl+k', 'del-perl' => 'ctrl+shift+k', 'toggle-perl' => 'ctrl+alt+k', 'add-xml' => 'ctrl+i', 'del-xml' => 'ctrl+shift+i', }, format => { 'block-on-right-margin' => 'ctrl+shift+b', 'dedent-char' => 'ctrl+shift+space', 'dedent-tab' => 'ctrl+shift+tab', 'indent-char' => 'ctrl+space', 'indent-tab' => 'ctrl+tab', 'join-lines' => 'ctrl+shift+j', }, move => { 'char-left' => 'ctrl+alt+left', 'char-right' => 'ctrl+alt+right', 'line-up' => 'ctrl+alt+up', 'line-down' => 'ctrl+alt+down', 'page-up' => 'ctrl+alt+pgup', 'page-down' => 'ctrl+alt+pgdn', }, }, }, select => { document => 'ctrl+a', 'toggle-simple' => 'ctrl+y', 'toggle-content' => 'ctrl+shift+y', 'to-block-begin' => 'alt+shift+pgup', 'to-block-end' => 'alt+shift+pgdn', }, find => { prev => 'shift+f3', next => 'f3', first => 'ctrl+alt+f3', last => 'ctrl+alt+shift+f3', selection => 'ctrl+f3', }, replace => { prev => 'alt+shift+f3', next => 'alt+f3', all => 'ctrl+alt+r', 'with-confirm' => 'ctrl+alt+shift+r', selection => 'ctrl+shift+f3', }, goto => { block => { down => 'alt+pgdn', up => 'alt+pgup', }, brace => { down => 'alt+down', left => 'alt+left', right => 'alt+right', up => 'alt+up', }, 'last-edit' => 'ctrl+shift+g', line => 'ctrl+g', }, marker => { 'goto-prev-doc' => 'shift+f2', 'goto-next-doc' => 'f2', 'goto-prev-all' => 'alt+shift+f2', 'goto-next-all' => 'alt+f2', 'toggle-here' => 'ctrl+f2', 'delete-doc' => 'ctrl+shift+f2', 'delete-all' => 'ctrl+alt+shift+f2', }, bookmark => { goto => { 1 => 'ctrl+1', 2 => 'ctrl+2', 3 => 'ctrl+3', 4 => 'ctrl+4', 5 => 'ctrl+5', 6 => 'ctrl+6', 7 => 'ctrl+7', 8 => 'ctrl+8', 9 => 'ctrl+9', 0 => 'ctrl+0', }, toggle => { 1 => 'ctrl+shift+1', 2 => 'ctrl+shift+2', 3 => 'ctrl+shift+3', 4 => 'ctrl+shift+4', 5 => 'ctrl+shift+5', 6 => 'ctrl+shift+6', 7 => 'ctrl+shift+7', 8 => 'ctrl+shift+8', 9 => 'ctrl+shift+9', 0 => 'ctrl+shift+0', }, }, tool => { note => 'f12', 'note-selection' => 'shift+f12', 'interpreter-run-document' => 'f5', 'interpreter-stop-document' => 'shift+f5', 'output-selection-dec' => 'ctrl+shift+f5', 'output-selection-hex' => 'alt+shift+f5', 'perl-insert-last-var' => 'ctrl+shift+v', 'perl-copy-string' => 'alt+shift+c', }, document => { change => { back => 'ctrl+shift+back', prev => 'ctrl+pgup', next => 'ctrl+pgdn', }, move => { left => 'ctrl+shift+pgup', right => 'ctrl+shift+pgdn', }, }, view => { 'searchbar-goto' => 'ctrl+f', dialog => { config => 'alt+shift+c', find => 'ctrl+shift+f', replace => 'ctrl+r', info => 'alt+shift+i', keymap => 'alt+shift+k', }, editpanel => { 'fold-toggle' => { all => 'alt+shift+plus', here => 'ctrl+plus', level => 'alt+plus', recursively => 'ctrl+shift+plus', }, maximize => 'shift+f11', zoom => { in => 'ctrl+shift+plus', normal => 'ctrl+shift+pound', out => 'ctrl+shift+minus', }, }, 'panel-notepad' => 'ctrl+f12', 'panel-output' => 'ctrl+f5', tabbar => 'ctrl+alt+t', window => { fullscreen => 'f11', restore => 'esc', 'stay-on-top' => 'ctrl+f11', 'top-transparent' => 'ctrl+alt+f11', transparent => 'alt+f11', }, }, }, }, } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/Localisation.pm0000644000175000017500000012745711573645310023672 0ustar rizlarizlapackage Kephra::Config::Default::Localisation; our $VERSION = '0.08'; use strict; use warnings; sub get { return { about => { language => 'english', iso_code => 'en', coding => 'ASCII', purpose => 'embedded emergency localisation', version => $Kephra::VERSION, }, app => { general => { untitled => 'untitled' }, menu => { label => { file => 'File', file_open => 'Open', file_close => 'Close', file_history => 'Recently Closed', file_save => 'Save', file_session => 'Session', edit => 'Edit', edit_changes => 'History', current_line => 'Line', select => 'Select', selection => 'Selection', selection_format => 'Format', selection_comment => 'Comment', selection_convert => 'Convert', search => 'Search', search_attributes => 'Attributes', find_functions => 'Find Functions', replace_functions => 'Replace Functions', marker => 'Marker', bookmark_goto => 'Goto Bookmark', bookmark_toggle => 'Toggle Bookmark', tools => 'Tools', tool_output => 'Output', insert_templates => 'Templates', document => 'Document', document_change => 'Change', document_convert => 'Convert', document_syntaxmode => 'Syntaxmode', 'document_syntaxmode_A-M' => 'A - M', 'document_syntaxmode_N-Z' => 'N - Z', document_syntaxmode_compiled => 'Compiled', document_syntaxmode_interpreted => 'Interpreted', document_syntaxmode_data_structure => 'Data Structure', document_syntaxmode_document => 'Documents', document_syntaxmode_web => 'Webprogramming', document_syntaxmode_special => 'Special', document_encoding => 'Encoding', document_tab_width => 'Tab Width', document_lineendchar => 'Lineendchars', document_readonly => 'Write Protection', view => 'View', view_window => 'Main Window', view_bars => 'App Bars', view_panel => 'Panel', view_contextmenu => 'Context Menus', view_editpanel_contexmenu => 'Edit Panel', view_textmargin => 'Text Margin', view_text_fold => 'Folding', view_zoom => 'Zoom', config => 'Config', config_app_lang => 'Language', config_global => 'Global Config File', config_interface => 'User Interface', config_localisation => 'Localisation', 'config_syntaxmode_A-M' => 'Syntaxmodes A - M', 'config_syntaxmode_N-Z' => 'Syntaxmodes N - Z', help => 'Help' }, help => {}, }, status => { label => { chars => 'Chars', column => 'Column', line => 'Line', lines => 'Lines', selection => 'Selection', soft_tabs => 'soft tabs', hard_tabs => 'hard tabs', now_is => 'Now is', last_change => 'Last change', date => 'Date', time => 'Time', }, help => { cursor => 'caret (text cursor) position', selection => 'selection size or position in percentage', syntaxmode => 'changes the current set syntaxmode', codepage => 'encoding settings', tab => 'change the use of tabs and spaces', EOL => 'view or change the end of line character', message => 'info field, can also show infos about the current file', }, }, }, commandlist => { label => { app => { exit => 'Exit', 'exit-unsaved' => 'Exit Without Save', }, file => { new => 'New', open => 'Open ...', 'open-dir' => 'Open Dir ...', reload => 'Reload', 'reload-all' => 'Reload All', rename => 'Rename ...', insert => 'Insert From File ...', close => { current => 'Close', all => 'Close All', other => 'Close Other', unsaved => 'Close Unsaved', 'all-unsaved' => 'Close All Unsaved', 'other-unsaved' => 'Close Other Unsaved', }, save => { current => 'Save', all => 'Save All', as => 'Save As ...', 'copy-as' => 'Save Copy ...', }, print => 'Print ...', session => { open => 'Open ...', add => 'Add ...', save => 'Save ...', import => 'Import ...', export => 'Export ...', 'backup-open' => 'Restore Backup', 'backup-save' => 'Save Backup', 'history-open-all' => 'Open All', }, }, edit => { changes => { undo => 'Undo', redo => 'Redo', 'undo-several' => 'Fast Undo', 'redo-several' => 'Fast Redo', 'goto-begin' => 'Jump To Begin', 'goto-end' => 'Jump To End', delete => 'Clear Records', }, cut => 'Cut', copy => 'Copy', paste => 'Paste', replace => 'Replace', delete => 'Delete', 'delete-tab' => 'Del Tab', line => { 'cut' => 'Cut', 'copy' => 'Copy', duplicate => 'Duplicate', 'replace' => 'Replace', 'delete' => 'Delete', 'delete-left' => 'Delete Left', 'delete-right' => 'Delete Right', 'move' => { 'line-up' => 'Move Line Up', 'line-down' => 'Move Line Down', 'page-up' => 'Move Page Up', 'page-down' => 'Move Page Down', }, }, selection => { convert => { uppercase => 'Uppercase', lowercase => 'Lowercase', titlecase => 'Titlecase', sentencecase => 'Sentencecase', spaces2tabs => 'Spaces To Tabs', tabs2spaces => 'Tabs To Spaces', spaces2entities => 'Spaces To Entities', entities2spaces => 'Entities To Spaces', chars2entities => 'Chars To Entities', entities2chars => 'Entities To Chars', }, comment => { 'add-perl' => 'Add Perl Style Comment', 'del-perl' => 'Remove Perl Style Comment', 'toggle-perl' => 'Toggle Perl Style Comment', 'add-c' => 'Add C Style Comment', 'del-c' => 'Remove C Style Comment', 'add-xml' => 'Add XML Style Comment', 'del-xml' => 'Remove XML Style Comment', }, format => { 'align-on-begin' => 'Align On Begin', 'block-on-right-margin' => 'Blockformat On Right Margin', 'block-on-width' => 'Blockformat On Width ...', 'linewrap-on-right-margin' => 'Wrap Lines Exceeding Right Margin', 'linewrap-on-width' => 'Wrap Lines Exceeding Fixed Width ...', 'indent-char' => 'Indent Space', 'dedent-char' => 'Dedent Space', 'indent-tab' => 'Indent Tab', 'dedent-tab' => 'Dedent Tab', 'del-trailing-whitespace' => 'Delete Trailing Space', 'join-lines' => 'Join Lines', }, move => { 'char-left' => 'Move Left', 'char-right' => 'Move Right', 'line-up' => 'Move Up', 'line-down' => 'Move Down', 'page-up' => 'Move Page Up', 'page-down' => 'Move Page Down', }, }, document => { convert => { indent2spaces => 'Indention 2 Whitespace', indent2tabs => 'Indention 2 Tab', spaces2tabs => 'Spaces 2 Tabs', tabs2spaces => 'Tabs 2 Spaces', }, format => { 'del-trailing-whitespace' => 'Delete Trailing Whitespace', }, }, }, select => { document => 'Select All', 'toggle-simple' => 'Toggle', 'toggle-content' => 'Item', }, search => { 'attribute' => { 'autowrap-switch' => 'Auto Wrap', 'incremental-switch' => 'Incremental Search', 'regex-switch' => 'Regular Expression', match => { 'case-switch' => 'Match Case', 'whole-word-switch' => 'Whole Word Only', 'word-begin-switch' => 'Word Begin', }, }, range => { selection => 'Selection', document => 'Document', 'open-docs' => 'Open Documents' }, }, find => { prev => 'Find Previous', next => 'Find Next', first => 'Find First', last => 'Find Last', selection => 'Find Selection', #'mark-all' => 'Mark all Matches', }, replace => { prev => 'Replace Backward', 'next' => 'Replace Forward', all => 'Replace All', 'with-confirm' => 'Replace With Confirmation', selection => 'Replace Into Selection', }, goto => { 'last-edit' => 'Goto Last Edit', line => 'Goto Line Number ...', }, marker => { 'goto-prev-doc' => 'Previous Marker in Doc', 'goto-next-doc' => 'Next Marker in Doc', 'goto-prev-all' => 'Goto Previous Marker', 'goto-next-all' => 'Goto Next Marker', 'toggle-here' => 'Toggle Marker Here', 'delete-doc' => 'Delete Marker in Doc', 'delete-all' => 'Delete All Marker', }, bookmark => { goto => { 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, '0' => 'O', }, toggle => { 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, '0' => 'O', }, 'delete-doc' => 'Delete Doc Bookmarks', 'delete-all' => 'Delete All Bookmarks', }, tool => { note => 'Note', 'note-selection' => 'Note Selection', 'interpreter-run-document' => 'Run Script', 'interpreter-stop-document' => 'Stop Script', 'output' => { 'inc' => '@INC', 'env' => '%ENV', 'selection-dec' => 'Selection in Dec', 'selection-hex' => 'Selection in Hex', }, 'choose-color' => 'Color Picker', 'insert-time-date' => 'Time Date', perl => { 'insert-last-var' => 'Insert Var', 'copy-string' => 'Copy String', }, 'auto-indention' => 'Auto-Indention', 'brace-indention' => 'Brace-Indention', 'brace-completion' => 'Brace-Completion', }, document => { EOL => { auto => 'Align', 'cr+lf' => 'CR+LF (Windows)', cr => 'CR (Macintosh)', lf => 'LF (Linux)', }, change => { back => 'Switch Back', prev => 'Previous Tab', 'next' => 'Next Tab', }, encoding => { 'ascii' => 'ASCII', 'latin1' => 'Latin 1', 'utf8' => 'UTF-8', }, move => { left => 'Move Left', right => 'Move Right', }, readonly => { 'as-attr' => 'As Attribute', on => 'Always On', off => 'Always Off', }, syntaxmode => { auto => 'Autoselect', none => 'None', ada => 'Ada', as => 'Actionscript', asm => 'Assembler', ave => 'Avennue', baan => 'Baan', batch => 'Batch', c => 'C | C++', conf => 'Conf', context => 'Context', cs => 'C#', css => 'CSS', diff => 'Diff', eiffel => 'Eiffel', err => 'Errorlist', forth => 'Forth', fortran => 'FORTRAN 90', html => 'HTML', idl => 'IDL', java => 'Java', js => 'Javascript', latex => 'LaTeX', lisp => 'LISP', lua => 'Lua', make => 'Makefile', matlab => 'Matlab', nsis => 'NSIS', pascal => 'Pascal', perl => 'Perl', php => 'PHP', property => 'Property', ps => 'Postscript', python => 'Python', ruby => 'Ruby', scheme => 'Scheme', sh => 'UNIX Shell', sql => 'SQL', tcl => 'TCL', tex => 'TeX', vb => 'Visual Basic', vbs => 'VB Script', xml => 'XML', yaml => 'YAML', }, tabs => { hard => 'Tabs (HT = hard tabs)', soft => 'Spaces (ST = soft tabs)', use => 'Use Tabs', width => { 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 8 => 8, }, }, }, view => { dialog => { config => 'Config Dialog ...', find => 'Search Dialog', replace => 'Replace Dialog', info => 'About ...', keymap => 'Keymap ...', }, documentation => { 'advanced-tour' => 'Advanced Tour', credits => 'Credits', 'feature-list' => 'Featurelist', 'navigation-guide' => 'Navigation Guide', welcome => 'Welcome', 'this-version' => 'This Version', }, editpanel => { contextmenu => { custom => 'Custom', default => 'Default', no => 'No Menu', }, indicator => { EOL => 'Lineend Marker', 'brace-light' => 'Bracelight', 'caret-line' => 'Caret Line', 'indention-guide' => 'Indention Guide', 'right-margin' => 'Right Margin', whitespace => 'Whitespace', }, 'fold-toggle' => { all => 'All', here => 'Here', level => 'Level', recursively => 'Recursively', }, font => 'Font', 'line-wrap' => 'Line Wrap', margin => { contexmenu => 'Left Margin', marker => 'Marker Margin', 'line-number' => 'Line Number', 'text-fold' => 'Fold Margin', text => { 0 => '0 px', 1 => 1, 2 => 2, 3 => 3, 4 => 4, 6 => 6, 8 => 8, 10 => 10, 12 => 12, }, }, }, panel => { notepad => 'Notepad', output => 'Output', }, menubar => 'Main Menu', searchbar => 'Searchbar', 'searchbar-goto' => 'Searchbar', 'searchbar-contexmenu' => 'Searchbar', statusbar => 'Statusbar', 'statusbar-contexmenu' => 'Statuscontext', 'statusbar-info' => { date => 'File Date', length => 'File Size', none => 'Nothing', }, tabbar => 'Tabbar', 'tabbar-contexmenu' => 'Tabbar', toolbar => 'Main Toolbar', webpage => { 'bug-tracker' => 'Bug Tracker', documentation => 'Online Docs', 'feature-wish' => 'Feature Wish', forum => 'Perl Forum', }, 'window-stay-on-top' => 'Stay On Top', zoom => { in => 'Zoom In', normal => 'Normal', out => 'Zoom Out', }, }, config => { file => { global => { 'open' => 'Open', reload => 'Reload', 'load-from' => 'Load From ...', 'load-backup' => 'Load Backup', 'load-defaults' => 'Load Defaults', merge => 'Merge With ...', save => 'Save', 'save-as' => 'Save As ...', }, interface => { commandlist => 'Command List', menubar => 'Main Menu', contextmenu => 'Contextmenus', maintoolbar => 'Main Toolbar', searchbar => 'Searchbar', statusbar => 'Statusbar', toolbar => 'Toolbar', }, syntaxmode => { ada => 'Ada', as => 'Actionscript', asm => 'Assembler', ave => 'Avennue', baan => 'Baan', batch => 'Batch', c => 'C | C++', conf => 'Conf', context => 'Context', cs => 'C#', css => 'CSS', diff => 'Diff', eiffel => 'Eiffel', err => 'Errorlist', forth => 'Forth', fortran => 'FORTRAN 90', html => 'HTML', idl => 'IDL', java => 'Java', js => 'Javascript', latex => 'LaTeX', lisp => 'LISP', lua => 'Lua', make => 'Makefile', matlab =>'Matlab', nsis => 'NSIS', pascal => 'Pascal', perl => 'Perl', php => 'PHP', property => 'Property', ps => 'Postscript', python => 'Python', ruby => 'Ruby', scheme => 'Scheme', sh => 'UNIX Shell', sql => 'SQL', tcl => 'TCL', tex => 'TeX', vb => 'Visual Basic', vbs => 'VB Script', xml => 'XML', yaml => 'YAML', }, templates => 'Templates', }, }, }, help => { app => { exit => 'shut down the application and save settings and files', 'exit-unsaved' => 'shut down app without saving the open files', }, file => { new => 'opens a new empty text', open => 'opens an existing file', 'open-dir' => 'open all files of a chosen directory', reload => 'reload file from disc', 'reload-all' => 'reload all opened files', rename => 'change current files name', insert => 'insert file content at caret position', save =>{ current => 'save current file', all => 'save all open files', as => 'save current document under different file name', 'copy-as' => 'save doc with different name, keep current version open', }, close => { current => 'close current document, if present the file will be saved', all => 'close all open documents', other => 'close all open documents but the current', unsaved => 'close current document without saving', 'all-unsaved' => 'close all documents without saving', 'other-unsaved' => 'close all open docs but the current without saving', }, print => 'print the current document', session => { open => 'restore a saved file session', add => 'add files from a saved file session', save => ' save current file session', import => 'open file session from another editors format', export => 'save file session in another editors format', 'backup-open' => 'restore the backup session', 'backup-save' => 'set current files as the backup session', 'history-open-all' => 'restore all listed closed files from history', }, }, edit => { changes => { undo => 'undo the last change of the current document', redo => 'redo the last change made undone', 'undo-several' => 'go several steps back in edit history', 'redo-several' => 'go several steps forward in edit history', 'goto-begin' => 'go back to the state before the first edit', 'goto-end' => 'go forward to the state after the last edit', delete => 'deleting history of all editing changes', }, cut => 'cut selected text and store it in the clipboard', copy => 'copy selected text to the clipboard', paste => 'insert text from the clipboard', replace => 'replace selected text with the clipboard', delete => 'delete and forget selected text', line => { cut => 'cut current line and store it in the clipboard', copy => 'copy current line to the clipboard', duplicate => 'insert below a copy of the current line', replace => 'replace current line with the clipboard', delete => 'delete and forget current line', 'delete-left' => 'delete left side from textcursor of current line', 'delete-right' => 'delete right side from textcursor of current line', move => { 'line-up' => 'move current line one line up', 'line-down' => 'move current line one line down', 'page-up' => 'move current line one page up', 'page-down' => 'move current line one page down', }, }, selection => { convert => { uppercase => 'turn selected text to uppercase', lowercase => 'turn selected text to lowercase', titlecase => 'turn first char of every word uppercase', sentencecase => 'turn first char of every sentence uppercase', spaces2tabs => 'convert groups of whitespace to tabs', tabs2spaces => 'depends on current tab width', spaces2entities => 'convert all whitespace to &npsp;', entities2spaces => 'convert &npsp; to whitespace', chars2entities => 'convert ISO 8859-1 character to HTML entities', entities2chars => 'convert HTML entities to ISO 8859-1 characters', }, comment => { 'add-perl' => 'insert # after every indention', 'del-perl' => 'remove all # following the indention', 'toggle-perl' => 'comment all uncommented lines and vici versa', 'add-c' => 'surround selection with / * and * /', 'del-c' => 'remove all / * and * / in the selection', 'add-xml' => 'surround selection with ', 'del-xml' => 'remove all in the selection', }, format => { 'align-on-begin' => 'align line indentions on first line', 'block-on-right-margin' => 'format to textblock, that not cross right margin', 'block-on-width' => 'format to textblock with chosen width ...', 'linewrap-on-right-margin' => 'split lines before they reach the right margin', 'linewrap-on-width' => 'split lines to a chosen width ...', 'indent-char' => 'increase indention of the selected lines by 1', 'dedent-char' => 'decrease indention of the selected lines by 1', 'indent-tab' => 'increase indention by current tab size', 'dedent-tab' => 'decrease indention by current tab size', 'del-trailing-whitespace' => 'delete whitespace on line endings', 'join-lines' => 'delete end of line (EOL) symbols', }, move => { 'char-left' => 'move selection one character left', 'char-right' => 'move selection one character right', 'line-up' => 'move selection one line up', 'line-down' => 'move selection one line down', 'page-up' => 'move selection one page up', 'page-down' => 'move selection one page down', }, }, document => { convert => { indent2spaces => 'convert tabs between linestart and first word', indent2tabs => 'convert spaces between linestart and first word', spaces2tabs => 'convert all spaces to tabs in the current doc', tabs2spaces => 'convert all tabs to spaces in the current doc', }, format => { 'del-trailing-whitespace' => 'delete all trailing whitespace', }, }, }, select => { document => 'select entire document', 'toggle-simple' => 'toggle between selectin a word, a line, a block or nothing', 'toggle-content' => 'toggle selection between contents of braces or quotings', }, search => { attribute => { 'autowrap-switch' => 'Auto Wrap', 'incremental-switch' => 'Incremental Search', 'regex-switch' => 'Regular Expression', match => { 'case-switch' => 'Match Case', 'whole-word-switch' => 'Whole Word only', 'word-begin-switch' => 'Word Begin', }, }, range => { selection => 'search and replace only within selected text', document => 'search and replace in whole current document', 'open-docs' => 'search and replace in all open documents', }, }, find => { prev => 'find the previous match of the textsearch', next => 'find the next match of the textsearch', first => 'find first textsearch match in document', last => 'find last textsearch match in document', selection => 'remember selected text as current search item', }, replace => { prev => 'replace selection and find previous match', next => 'replace selection and find next match', all => 'replace all matches in current search range', 'with-confirm' => 'confirm or reject to replace every particular match', selection => 'remember selected text as current replace item', }, goto => { 'last-edit' => 'jump to position of last change in this document', line => 'jump to line with chosen number', }, marker => { 'goto-prev-doc' => 'go to the previous marker (upwards) in this document', 'goto-next-doc' => 'go to the next marker (downwards) in this document', 'goto-prev-all' => 'go to the previous marker here or in some previous document', 'goto-next-all' => 'go to the next marker here or in some next document', 'toggle-here' => 'set a marker in current line or delete if already present', 'delete-doc' => 'delete marker just in the current document', 'delete-all' => 'delete marker in all open documents', }, bookmark => { goto => { 1 => 'go to bookmark number 1', 2 => 'go to bookmark number 2', 3 => 'go to bookmark number 3', 4 => 'go to bookmark number 4', 5 => 'go to bookmark number 5', 6 => 'go to bookmark number 6', 7 => 'go to bookmark number 7', 8 => 'go to bookmark number 8', 9 => 'go to bookmark number 9', 0 => 'go to bookmark number 0', }, toggle => { 1 => 'set here or remove (if present) bookmark 1', 2 => 'set here or remove (if present) bookmark 2', 3 => 'set here or remove (if present) bookmark 3', 4 => 'set here or remove (if present) bookmark 4', 5 => 'set here or remove (if present) bookmark 5', 6 => 'set here or remove (if present) bookmark 6', 7 => 'set here or remove (if present) bookmark 7', 8 => 'set here or remove (if present) bookmark 8', 9 => 'set here or remove (if present) bookmark 9', 0 => 'set here or remove (if present) bookmark 0', }, 'delete-doc' => 'delete bookmarks in the current document', 'delete-all' => 'delete bookmarks in all documents', }, tool => { note => 'jump to the notepad', 'note-selection' => 'paste selected text on the end of the notepad', 'interpreter-run-document' => 'run current program and show result in output panel', 'interpreter-stop-document' => 'stop the current running output panel process', 'output' => { 'inc' => 'display the include paths of the Perl Interpreter in the ouput panel', 'env' => 'display the environment variables in the ouput panel', 'selection-dec' => 'display selected text in decimal coding in the ouput panel', 'selection-hex' => 'display selected text in hexadecimal coding in the ouput panel', }, 'choose-color' => 'display text selection as color and choose a new from a rainbow', 'insert-time-date' => 'insert at cursor current time and date', perl => { 'insert-last-var' => 'insert last Perl variable that began a line', 'copy-string' => 'copy surrounding single or double quoted string', }, 'auto-indention' => 'indents new line like previous when Enter pressed', 'brace-indention' => 'autoindents one tab more after curly braces when press enter', 'brace-completion' => 'creates the closing brace when press enter after the opening', }, document => { EOL => { auto => 'make all line endings like in first line', 'cr+lf' => 'line endings for Windows or Dos', cr => 'convert line endings to the Mac standart', lf => 'convert line endings to the UNIX standart', }, change => { back => 'switches to the last used document', prev => 'changes the current document one tab to the left', next => 'changes the current document one tab to the right', }, encoding => { 'ascii' => 'converts document encoding into ASCII 8 Bit', 'latin1' => 'converts document encoding into iso-8859-1', 'utf8' => 'converts document encoding into UTF-8', }, move => { left => 'move current document in the tabbar one pos to the left', right => 'move current document in the tabbar one pos to the right', }, readonly => { 'as-attr' => 'turns write protection on if file is readonly', on => 'disables every modification of this document', off => 'makes document always editable even if it can\'t be saved', }, syntaxmode => { auto => 'select syntaxmode depending on fileending', none => 'turn any syntaxmode settings off', ada => 'activate language settings for Ada', as => 'activate settings for Macromedia Actionscript', asm => 'language settings for Assembler', ave => 'open settings for the Avennue language', baan => 'language of the Baan ERP systems', batch => 'Microsofts classic commandline batch control language', c => 'settings for the C / C++ language family', conf => 'for Apache Conf styled configuration files', context => 'settings for the ConTeXt Tex Macros', cs => 'syntaxmode for Microsoft C-Sharp', css => 'syntaxmode for Cascading Style Sheet language', diff => 'syntaxmode for patch files', eiffel => 'Bertrand Meyers objectoriented language Eiffel', err => 'syntaxmode for errorcode files', forth => 'language of the Forth systems', fortran => 'syntaxmode of the FORmula TRANslation language', html => 'syntaxmode for the HyperText Markup Language', idl => 'syntaxmode of the Interface Definition Language', java => 'Settings for Sun\'s Java language', js => 'syntaxmode for Javascript', latex => 'syntaxmode for the LaTeX Tex macros', lisp => 'LISt Processor settings', lua => 'syntaxmode for the embedding language Lua', make => 'highlighting for make tool scripts', matlab => 'MATLAB scripting language', nsis => 'language of the Nullsoft Scriptable Install System', pascal => 'Niklaus Wirth\'s structured language Pascal', perl => 'syntaxmode for Larry Walls Perl', php => 'Rasmus Lehrdorf PHP Hypertext Processors', property => 'Highlighting for simple config files', ps => 'Adobe\'s document desciption language Postscript', python => 'Guido van Rossums dynamic language Python', ruby => 'Yukihiro "Matz" Matsumoto\'s full objectoriented language', scheme => 'syntaxmode of the MIT LISP dialect', sh => 'settings for the UNIX Bourne Shell', sql => 'Structured Query Language originated from IBM', tcl => 'Tool Command Language from John Ousterhout', tex => 'Donald E. Knuth macro language for type setting', vb => 'settings for Microsoft Visual Basic', vbs => 'settings for Microsoft Visual Basic Script', xml => 'syntaxmode for the eXtensible Markup Language', yaml => 'syntaxmode for Indy\'s YAML Ain\'t Markup Language', }, tabs => { hard => 'insert a tab while hitting the tab key', soft => 'insert several whitespaces while hitting tab key', use => 'use tabs (hard tabs) or whitespaces (soft tabs)', width => { 1 => 'set width of tabs to an equal of 1 character', 2 => 'set width of tabs to an equal of 2 characters', 3 => 'set width of tabs to an equal of 3 characters', 4 => 'set width of tabs to an equal of 4 characters', 5 => 'set width of tabs to an equal of 5 characters', 6 => 'set width of tabs to an equal of 6 characters', 8 => 'set width of tabs to an equal of 8 characters', }, }, }, view => { dialog => { config => 'display and change the configuration of the program', find => 'open dialog for text search and settings', replace => 'open dialog for find and replace text', info => 'version numbers, authors, credits, license', keymap => 'lists which key kombination triggers which function', }, documentation => { 'advanced-tour' => 'introduction of unusual but practical features', credits => 'list of all involved people', 'feature-list' => 'thematically sorted description of all functionalities', 'navigation-guide' => 'explanations of the user interface', welcome => 'first steps: how to get help and give feedback', 'this-version' => 'new features and important changes of the current version', }, editpanel => { contextmenu => { custom => 'activate customizable editpanel context menu', default => 'activate default scintilla context menu', no => 'deactivate all editpanel context menu', }, indicator => { EOL => 'switch visibility of the end of line marker', 'brace-light' => 'highlights associated pairs of braices', 'caret-line' => 'highlights row where caret(textcursor) is located', 'indention-guide' => 'vertical dotted lines in intervals of tab width', 'right-margin' => 'shows straight vertical line on seleted width', whitespace => 'set whitespaces and tabs visible as dots and arrows', }, 'fold-toggle' => { all => 'fold or unfold all visible and not visible nodes', here => 'fold or unfold only the node on selected position', level => 'fold or unfold all nodes with same depth in hierarchy (amount of parents)', recursively => 'fold or unfold this and all nodes below in hierarchy', }, font => 'change font family, size, style etc.', 'line-wrap' => 'breaks long lines on window edge only visually', margin => { contexmenu => 'enable or disable the context menu over the margin, left of the edit panel', marker => 'margin for bookmarks, marker, debug steps ...', 'line-number' => 'sets line numbers visible', text => { 0 => 'set extra margin on both sides of textfield to 0 pixel', 1 => 'set extra margin on both sides of textfield to 1 pixel', 2 => 'set extra margin on both sides of textfield to 2 pixel', 3 => 'set extra margin on both sides of textfield to 3 pixel', 4 => 'set extra margin on both sides of textfield to 4 pixel', 6 => 'set extra margin on both sides of textfield to 6 pixel', 8 => 'set extra margin on both sides of textfield to 8 pixel', 10 => 'set extra margin on both sides of textfield to 10 pixel', 12 => 'set extra margin on both sides of textfield to 12 pixel', }, 'text-fold' => 'switch Margin for the text folding icons', }, maximize => 'toggle all panels and bars to enlarge the edit area', }, panel => { notepad => 'switch visibility of the Notepad panel', output => 'switch visibility of the Output panel', }, menubar => 'turn main menu on (visible) or off', searchbar => 'toolbar with text seach and navigation functions', 'searchbar-goto' => 'goto searchbar and use find function', 'searchbar-contexmenu' => 'enable or disable the context menu over the searchbar', statusbar => 'switch visibility of the statusbar on bottom of the window', 'statusbar-contexmenu' => 'enable or disable context menus on statusbar', 'statusbar-info' => { date => 'display change date of the current file in statusbar info field', length => 'display size info of the current file in statusbar info field', none => 'display nothing in statusbar info field', }, tabbar => 'switch visibility of the tabbar, toolbar for doc selection', 'tabbar-contexmenu' => 'enable or disable context menus on tabbar', toolbar => 'switch visibility of the main toolbar', webpage => { 'bug-tracker' => 'please report any problem with the programm', documentation => 'open online documentation with your default browser', 'feature-wish' => 'report a feature or design change wish', forum => 'go to a perl web forum based on current language setting', }, window => { fullscreen => 'use maximum screen space', 'stay-on-top' => 'application window cant be overlapped by other windows', 'transparent' => 'make main window translucent', }, zoom => { in => 'make text appear larger', normal => 'zoom text back to font settings', out => 'make text appear smaller', }, }, config => { 'app-lang' => 'change user interface language to', file => { global => { open => 'open file with current global configurations', reload => 'reload current global configuration file', 'load-from' => 'load global configs from chosen file', 'load-backup' => 'load global configs from backup', 'load-defaults' => 'load default global configs', merge => 'merge current global configs with settings in this file', save => 'save current global configs into the file we load from', 'save-as' => 'save current global configs into this file', }, interface => { commandlist => 'definition for function calls, key binding, icons', menubar => 'open definition file for the menubar', contextmenu => 'open definition file for all contextmenu', maintoolbar => 'open definition file for the main toolbar', searchbar => 'open definition file for the searchbar', statusbar => 'open definition file for the statusbar', toolbar => 'open default definition file for toolbars', }, localisation => 'open translation file for language', syntaxmode => { ada => 'open file with settings for the Ada language', as => 'open file with Macromedia Actionscript settings', asm => 'open file with language settings for Assembler', ave => 'open settings for the Avennue language', baan => 'language of the Baan ERP systems', batch => 'Microsofts classic commandline batch control language', c => 'open file with settings for the C / C++ languages', conf => 'settings for files in the Apache Conf style', context => 'settings for ConTeXt Tex Macros', cs => 'open file with syntaxmode for Microsoft C-Sharp', css => 'settings for the Cascading Style Sheet language', diff => 'syntaxmode for patch files', eiffel => 'Bertrand Meyers objectoriented language Eiffel', err => 'syntaxmode for errorcode files', forth => 'settings for the language of the Forth systems', fortran => 'syntaxmode von FORmula TRANslation open', html => 'syntaxmode for HyperText Markup Language open', idl => 'syntaxmode der Interface Definition Language open', java => 'open settings for Sun\'s Java language', js => 'open syntaxmode for Javascript', latex => 'open syntaxmode for the Tex macros named LaTeX', lisp => 'open settings for the almighty LISt Processor', lua => 'settings for the extension language Lua', nsis => 'language of the Nullsoft Scriptable Install System', make => 'highlighting for make tool scripts', matlab => 'MATLAB scripting language', pascal => 'settings for Niklaus Wirth\'s procedural language Pascal', perl => 'file with syntaxmode for Larry Walls Perl', php => 'Rasmus Lehrdorf PHP Hypertext Processor', property => 'Highlighting for simple config files', ps => 'Adobe document description language Postscript', python => 'Guido van Rossums dynamic language Python', ruby => 'Yukihiro "Matz" Matsumoto\'s full object oriented Ruby', scheme => 'open syntaxmode of the MIT LISP dialect Scheme', sh => 'open settings for the UNIX Bourne Shell', sql => 'Structured Query Language, originated from IBM', tcl => 'Tool Command Language from John Ousterhout', tex => 'Donald E. Knuth\'s macro language for typesetting', vb => 'open file with settings for Microsoft Visual Basic', vbs => 'open file with settings for Microsoft Visual Basic Script', xml => 'open settings for die eXtensible Markup Language', yaml => 'open settings for Indy\'s YAML Ain\'t Markup Language', }, templates => 'open file with the current template definitions', }, }, }, }, dialog => { config => { title => 'Configuration Dialog', panel => { general => 'General', main_window => 'Main Window', edit => 'Edit Panel', files => 'Files', }, }, config_file => { load => 'load overall configuration from the file :', save => 'store current program configuration into the file :', }, edit => { goto_line_headline => 'goto line', goto_line_input => 'choose linenumber :', wrap_custom_headline => 'custom word wrapping', wrap_width_input => 'choose new line width (maximum number of chars) :', }, error => { general => 'Error', no_param => 'called without needed parameters', file => 'file handling error', file_find => "can't find file :", file_read => "can't read file :", file_write => "can't write file :", config_read => "can't read config file :", config_parse => 'file has no data :', write_protected => 'This file is write protected by the file system.', write_protected2 => 'Please unlock this or save this text under an other filename.', }, file => { files => 'Files', open => 'Open File', insert => 'Insert File', rename => 'Rename File', save_as => 'Save File As', save_all => 'Save All', save_none => 'Save None', save_copy_as => 'Save A Copy Of This File As', overwrite => 'Overwrite Existing File !', close_unsaved => 'Closing Unsafed File', save_current => 'Save Current File ?', save_open => 'Save All Open Files ?', quit_unsaved => 'Closing Unsafed Files :', open_session => 'Open File Session', add_session => 'Add File Session', save_session => 'Save Current File Session', import_session => 'Import File Session', export_session => 'Export File Session', open_dir => 'Open Files of Directory :', file_changed => 'File Changed', file_changed_msg => 'The following file has changed :', file_deleted => 'File Deleted', file_deleted_msg => 'The following file can not be found anymore :', }, general => { all => 'All', apply => 'Apply', cancel => 'Cancel', changed => 'Changed', close => 'Close', deleted => 'Deleted', dont_allow => 'Your settings dont allow this.', ignore => 'Ignore', none => 'None', overwrite => 'Overwrite', reload => 'Reload', restore => 'Restore', save => 'Save', save_reload => 'Save as ... and Reload', select => 'Select', selected => 'Selected', }, help => {}, info => { title => 'Info about', mady_by => 'by', licensed => 'licensed under', detail => 'see under help > license for credits and', more => 'explicit licenses', homepage => 'for more info visit', contains => 'this version contains', and => 'and', wrappes => 'which wrappes', extra => 'extra Perl Modules', motto => 'Neter of software creation', dedication => 'Deditcated to all people who ever tried to write an editor.', }, keyboard_map => { title => 'Keyboard Map', }, search => { title => 'Find and Replace', confirm => { title => 'Replace With Confirmation', text => 'Replace This ?', }, label => { search_for => 'Search for :', replace_with => 'Replace with :', case => 'Match Case', word_begin => 'Word Begin', whole_word => 'Whole Word Only', regex => 'Regular Expression', auto_wrap => 'Auto Wrap', incremental => 'Incremental Search', search_in => 'Search in', selection => 'Selection', document => 'Current Doc', open_documents => 'Open Docs', search => 'Find', replace_all => 'Replace All', with_confirmation => 'With Confirmation', }, hint => { match_case => 'differ between UPPER and lower case', match_word_begin => 'match only beginnins of words', match_whole_word => 'match only whole words', match_regex => 'evaluates simple regular expression', incremental => 'search as you type', auto_wrap => 'jumpes between file endings', forward => 'find next', backward => 'find previous', fast_forward => 'find fast forward', fast_backward => 'find fast backward', document_start => 'find first in document', document_end => 'find last In document', replace_forward => 'replace and find next', replace_backward => 'replace and find previous', }, }, }, key => { back => 'Back', esc => 'Esc', enter => 'Enter', del => 'Del', left => 'Left', right => 'Right', up => 'Up', down => 'Down', pgup => 'Page Up', pgdn => 'Page Down', space => 'Space', tab => 'Tab', meta => { alt => 'Alt', 'shift' => 'Shift', ctrl => 'Ctrl', }, }, } } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/ToolBars.pm0000644000175000017500000000250011573645310022753 0ustar rizlarizlapackage Kephra::Config::Default::ToolBars; use strict; use warnings; our $VERSION = '0.01'; sub get { return { main_toolbar => [ 'item file-new', 'item file-open', 'item file-print#', 'item file-close-current#', 'item file-save-all', 'item file-save', undef, 'item edit-changes-undo', 'item edit-changes-redo', undef, 'item edit-cut', 'item edit-copy', 'item edit-paste', 'item edit-replace', 'item edit-delete', undef, 'checkitem view-editpanel-line-wrap', 'checkitem view-window-stay-on-top', undef, 'item tool-interpreter-run-document', 'checkitem view-panel-output', 'checkitem view-panel-notepad', undef, 'item view-dialog-find#', 'item view-dialog-config#', 'item view-dialog-keymap#', ], searchbar => [ 'item view-searchbar', 'combobox find 180', 'item find-prev', 'item find-next', undef, 'item goto-last-edit', undef, 'item marker-goto-prev-all', 'item marker-goto-next-all', undef, 'item goto-line', 'item view-dialog-find', ], statusbar => [ 'textpanel cursor 66', 'textpanel selection 60', 'textpanel syntaxmode 50', 'textpanel codepage 40', 'textpanel tab 25', 'textpanel EOL 32', 'textpanel message -1', ], } } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/GlobalSettings.pm0000644000175000017500000003240511573645310024156 0ustar rizlarizlapackage 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 => '$%-@_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', }, 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;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Config/Default/ContextMenus.pm0000644000175000017500000001176611573645310023700 0ustar rizlarizlapackage Kephra::Config::Default::ContextMenus; our $VERSION = '0.03'; use strict; use warnings; sub get { return { 'editpanel_contextmenu' => [ 'item edit-changes-undo', 'item edit-changes-redo', undef, 'item edit-paste', 'item select-document', undef, 'item goto-last-edit', 'item view-dialog-find', undef, 'item file-save-current', 'item file-open', undef, 'item file-close-current', ], 'textselection_contextmenu' => [ 'item edit-copy', 'item edit-paste', 'item edit-replace', 'item edit-cut', 'item edit-delete', undef, 'item find-selection', 'item replace-selection', 'item tool-note-selection', undef, 'item edit-selection-comment-toggle-perl', undef, 'item edit-selection-convert-uppercase', 'item edit-selection-convert-lowercase', ], 'markermargin_contextmenu' => [ {'menu marker' => [ 'item marker-toggle-here', 'item marker-goto-prev-doc', 'item marker-goto-next-doc', 'item marker-goto-prev-all', 'item marker-goto-next-all', 'item marker-delete-doc', 'item marker-delete-all', ],}, undef, {'menu bookmark_toggle' => [ 'item bookmark-toggle-1', 'item bookmark-toggle-2', 'item bookmark-toggle-3', 'item bookmark-toggle-4', 'item bookmark-toggle-5', 'item bookmark-toggle-6', 'item bookmark-toggle-7', 'item bookmark-toggle-8', 'item bookmark-toggle-9', 'item bookmark-toggle-0', ],}, {'menu bookmark_goto' => [ 'item bookmark-goto-1', 'item bookmark-goto-2', 'item bookmark-goto-3', 'item bookmark-goto-4', 'item bookmark-goto-5', 'item bookmark-goto-6', 'item bookmark-goto-7', 'item bookmark-goto-8', 'item bookmark-goto-9', 'item bookmark-goto-0', ],}, 'item bookmark-delete-doc', 'item bookmark-delete-all', undef, 'item goto-line', undef, {'menu view_text_fold' => [ 'item view-editpanel-fold-toggle-here', 'item view-editpanel-fold-toggle-recursively', 'item view-editpanel-fold-toggle-level', 'item view-editpanel-fold-toggle-all', ],}, undef, 'checkitem view-editpanel-margin-marker', 'checkitem view-editpanel-margin-line-number', 'checkitem view-editpanel-margin-text-fold', {'menu view_textmargin' => [ 'radioitem view-editpanel-margin-text-0', 'radioitem view-editpanel-margin-text-1', 'radioitem view-editpanel-margin-text-2', 'radioitem view-editpanel-margin-text-3', 'radioitem view-editpanel-margin-text-4', 'radioitem view-editpanel-margin-text-6', 'radioitem view-editpanel-margin-text-8', 'radioitem view-editpanel-margin-text-10', 'radioitem view-editpanel-margin-text-12', ],}, ], 'searchbar_contextmenu' => [ 'checkitem search-attribute-incremental-switch', 'checkitem search-attribute-autowrap-switch', undef, 'checkitem search-attribute-regex-switch', 'checkitem search-attribute-match-whole-word-switch', 'checkitem search-attribute-match-word-begin-switch', 'checkitem search-attribute-match-case-switch', undef, 'radioitem search-range-selection', 'radioitem search-range-document', 'radioitem search-range-open-docs', ], 'status_syntaxstyle_contextmenu' => [ 'radioitem document-syntaxmode-c', 'radioitem document-syntaxmode-conf', 'radioitem document-syntaxmode-css', 'radioitem document-syntaxmode-html', 'radioitem document-syntaxmode-js', 'radioitem document-syntaxmode-perl', 'radioitem document-syntaxmode-xml', 'radioitem document-syntaxmode-yaml', undef, 'item document-syntaxmode-auto', 'checkitem document-syntaxmode-none', ], 'status_whitespace_contextmenu' => [ 'checkitem tool-auto-indention', 'checkitem tool-brace-indention', undef, 'checkitem view-editpanel-whitespace', {'menu document_tab_width' => [ 'checkitem document-tabs-width-1', 'checkitem document-tabs-width-2', 'checkitem document-tabs-width-3', 'checkitem document-tabs-width-4', 'checkitem document-tabs-width-5', 'checkitem document-tabs-width-6', 'checkitem document-tabs-width-8', ],}, {'menu document_convert' => [ 'item edit-document-convert-tabs2spaces', 'item edit-document-convert-spaces2tabs', '', 'item edit-document-convert-indent2spaces', 'item edit-document-convert-indent2tabs', '', 'item edit-document-format-del-trailing-whitespace', ],}, undef, 'radioitem document-tabs-soft', 'radioitem document-tabs-hard', ], 'status_lineendchar_contextmenu' => [ 'checkitem view-editpanel-indicator-EOL', undef, 'item document-EOL-auto', undef, 'radioitem document-EOL-lf', 'radioitem document-EOL-cr', 'radioitem document-EOL-cr+lf', ], 'status_info_contexmenu' => [ 'radioitem view-statusbar-info-none', 'radioitem view-statusbar-info-length', 'radioitem view-statusbar-info-date', ] } } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/File.pm0000644000175000017500000003237111602234564017323 0ustar rizlarizlapackage Kephra::File; our $VERSION = '0.46'; use strict; use warnings; sub _dialog_l18n { Kephra::Config::Localisation::strings()->{dialog} } sub _config { Kephra::API::settings()->{file} } sub _dir { _config()->{current}{directory} } # # file events sub savepoint_left { my $doc_nr = shift; $doc_nr = Kephra::Document::Data::current_nr() if not defined $doc_nr or ref $doc_nr; Kephra::Document::Data::inc_value('modified') unless Kephra::Document::Data::get_attribute('modified', $doc_nr); Kephra::Document::Data::set_attribute('modified', 1, $doc_nr); Kephra::App::TabBar::refresh_label($doc_nr) if Kephra::App::TabBar::_config()->{info_symbol}; Kephra::EventTable::trigger('document.savepoint'); } sub savepoint_reached { my $doc_nr = shift; $doc_nr = Kephra::Document::Data::current_nr() if not defined $doc_nr or ref $doc_nr; Kephra::Document::Data::dec_value('modified') if Kephra::Document::Data::get_attribute('modified', $doc_nr); Kephra::Document::Data::set_attribute('modified', 0, $doc_nr); Kephra::App::TabBar::refresh_label($doc_nr); Kephra::EventTable::trigger('document.savepoint'); } sub can_save { Kephra::Document::Data::attr('modified') } sub can_save_all { Kephra::Document::Data::get_value('modified') } sub changed_notify_check { my $current_doc = Kephra::Document::Data::current_nr(); for my $file_nr ( @{ Kephra::Document::Data::all_nr() } ) { my $file = Kephra::Document::Data::get_file_path($file_nr); my $last_check = Kephra::Document::Data::get_attribute ('did_notify', $file_nr); next unless $file; if (not -e $file) { next if defined $last_check and $last_check eq 'ignore'; Kephra::Document::Change::to_number( $file_nr ); Kephra::Dialog::notify_file_deleted( $file_nr ); next; } my $last_change = Kephra::Document::Data::get_attribute('file_changed', $file_nr); my $current_age = Kephra::File::IO::get_age($file); if ( $last_change != $current_age) { next if defined $last_check and ( $last_check eq 'ignore' or $last_check >= $current_age); Kephra::Document::Change::to_number( $file_nr ); Kephra::Document::Data::set_attribute ('did_notify', _remember_save_moment($file_nr), $file_nr); Kephra::Dialog::notify_file_changed( $file_nr, $current_age ); } } Kephra::Document::Change::to_number($current_doc) unless $current_doc == Kephra::Document::Data::current_nr(); } sub _remember_save_moment { my ($doc_nr) = shift || Kephra::Document::Data::current_nr(); my $path = shift || Kephra::Document::Data::get_file_path($doc_nr); return unless defined $path and -e $path; my $age = Kephra::File::IO::get_age($path); Kephra::Document::Data::set_attribute('file_changed', $age, $doc_nr); return $age; } sub check_b4_overwite { my $file = shift; $file = Kephra::Document::Data::get_file_path() unless $file; my $allow = _config()->{save}{overwrite}; if ( -e $file ) { my $frame = Kephra::App::Window::_ref(); my $label = Kephra::Config::Localisation::strings()->{dialog}; if ( $allow eq 'ask' ) { my $answer = Kephra::Dialog::get_confirm_2 ( "$label->{general}{overwrite} $file ?", $label->{file}{overwrite}, -1, -1 ); return 1 if $answer == &Wx::wxYES; return 0 if $answer == &Wx::wxNO; } else { Kephra::Dialog::info_box( $label->{general}{dont_allow}, $label->{file}{overwrite} ) unless $allow; return $allow; } } else { return -1 } } # # drag n drop sub add_dropped { # add all currently dnd-held files my ($ep, $event) = @_; -d $_ ? add_dir($_) : Kephra::Document::add($_) for $event->GetFiles; } sub add_dir{ # add all files of an dnd-held dir my $dir = shift; return until -d $dir; opendir (my $DH, $dir); my @dir_items = readdir($DH); closedir($DH); my $path; my $recursive = _config()->{open}{dir_recursive}; foreach (@dir_items) { $path = "$dir/$_"; if (-d $path) { next if not $recursive or $_ eq '.' or $_ eq '..'; add_dir($path); } else { Kephra::Document::add($path) } } } # # file menu calls sub new { Kephra::Document::new() } sub open { # buttons dont freeze while computing Kephra::App::_ref()->Yield(); # file selector dialog my $files = Kephra::Dialog::get_files_open( _dialog_l18n()->{file}{open}, _dir(), $Kephra::temp{file}{filterstring}{all} ); # opening selected files if (ref $files eq 'ARRAY') { Kephra::Document::add($_) for @$files } } sub open_all_of_dir { my $dir = Kephra::Dialog::get_dir( _dialog_l18n()->{file}{open_dir}, _dir() ); add_dir( $dir ); } sub reload { reload_current(@_) } # alias sub reload_current { my $file_path = Kephra::Document::Data::get_file_path(); my $doc_nr = Kephra::Document::Data::current_nr(); if ($file_path and -e $file_path){ my $ep = Kephra::App::EditPanel::_ref(); Kephra::Document::Data::update_attributes($doc_nr); $ep->BeginUndoAction; $ep->SetText(""); Kephra::File::IO::open_buffer( $doc_nr ); $ep->EndUndoAction; $ep->SetSavePoint; _remember_save_moment(); Kephra::Document::Data::evaluate_attributes(); Kephra::App::EditPanel::Margin::autosize_line_number() if (Kephra::App::EditPanel::Margin::_config()->{linenumber}{autosize} and Kephra::App::EditPanel::Margin::_config()->{linenumber}{width} ); Kephra::Document::Data::evaluate_attributes($doc_nr); } else { } } sub reload_all { Kephra::Document::do_with_all( sub { reload_current() } ) } sub insert { my $file = Kephra::Dialog::get_file_open ( _dialog_l18n()->{file}{insert}, _dir(), $Kephra::temp{file}{filterstring}{all} ); Kephra::File::IO::open_buffer( Kephra::Document::Data::current_nr(), $file); } # sub _save_nr { my $nr = shift; $nr = Kephra::Document::Data::current_nr() unless defined $nr; my $ep = Kephra::Document::Data::_ep( $nr ); my $file = Kephra::Document::Data::get_file_path($nr); return until defined $nr and $ep and -e $file; my $save_config = _config()->{save}; return unless $ep->GetModify == 1 or $save_config->{unchanged}; rename $file, $file . '~' if $save_config->{tilde_backup} == 1; Kephra::File::IO::write_buffer( $nr ); $ep->SetSavePoint; _remember_save_moment($nr); } sub save { save_current(@_) } sub save_current { my ($ctrl, $event) = @_; my $ep = Kephra::App::EditPanel::_ref(); my $file = Kephra::Document::Data::get_file_path(); my $save_config = _config()->{save}; if ( $ep->GetModify == 1 or $save_config->{unchanged} ) { if ( $file and -e $file ) { if (not -w $file ) { my $err_msg = _dialog_l18n()->{error}; Kephra::Dialog::warning_box( $err_msg->{write_protected}."\n".$err_msg->{write_protected2}, $err_msg->{file} ); save_as(); } else { _save_nr(); Kephra::Config::Global::eval_config_file($file) if $save_config->{reload_config} == 1 and Kephra::Document::Data::get_attribute('config_file'); } } else { save_as() } } } sub save_as { my $file = Kephra::Dialog::get_file_save( _dialog_l18n()->{file}{save_as}, _dir(), $Kephra::temp{file}{filterstring}{all} ); if ( $file and check_b4_overwite($file) ) { my $ep = Kephra::App::EditPanel::_ref(); my $oldname = Kephra::Document::Data::get_file_path(); Kephra::Document::Data::inc_value('loaded') unless $oldname; Kephra::Document::Data::update_attributes(); Kephra::Document::Data::set_file_path($file); Kephra::File::IO::write_buffer(); $ep->SetSavePoint(); Kephra::Document::SyntaxMode::set('auto'); Kephra::App::Window::refresh_title(); Kephra::App::TabBar::refresh_current_label(); Kephra::App::StatusBar::refresh_all_cells(); _config()->{current}{directory} = Kephra::Document::Data::get_attribute('directory'); _remember_save_moment( ); Kephra::EventTable::trigger('document.list'); } } sub save_copy_as { my $file = Kephra::Dialog::get_file_save( _dialog_l18n()->{file}{save_copy_as}, _dir(), $Kephra::temp{file}{filterstring}{all} ); print "---",$file,"\n"; Kephra::File::IO::write_buffer(Kephra::Document::Data::current_nr(), $file) if $file and check_b4_overwite($file); } sub rename { my $new_path_name = Kephra::Dialog::get_file_save( _dialog_l18n()->{file}{rename}, _dir(), $Kephra::temp{file}{filterstring}{all} ); if ($new_path_name){ my $old_path_name = Kephra::Document::Data::get_file_path(); rename $old_path_name, $new_path_name if $old_path_name; Kephra::Document::Data::set_file_path($new_path_name); Kephra::Document::SyntaxMode::set('auto'); Kephra::App::Window::refresh_title(); Kephra::App::TabBar::refresh_current_label(); _config()->{current}{directory} = Kephra::Document::Data::get_attribute('directory'); Kephra::EventTable::trigger('document.list'); _remember_save_moment(); } } sub save_all { my $unsaved = can_save_all(); return unless $unsaved; # save surrent if its the only if ($unsaved == 1 and can_save() ) { save_current(); } # else { Kephra::Document::do_with_all( sub { save_current() if shift->{modified}; } ); } } sub save_all_named { my $unsaved = can_save_all(); return unless $unsaved; my $need_save_other; my $cdoc_nr = Kephra::Document::Data::current_nr(); for my $doc_nr ( @{ Kephra::Document::Data::all_nr()} ) { my ($name, $mod) = @{Kephra::Document::Data::attributes(['file_name', 'modified'], $doc_nr) }; $need_save_other = 1 if $doc_nr != $cdoc_nr and $name and $mod; } if ($need_save_other) { Kephra::Document::do_with_all( sub { my $file = shift; save_current() if $file->{modified} and $file->{file_name}; } ); } elsif (can_save() and Kephra::Document::Data::get_file_path()) { save_current(); } } sub print { require Wx::Print; my ( $frame, $event ) = @_; my $ep = Kephra::App::EditPanel::_ref(); my $printer = Wx::Printer->new; my $printout = Wx::Printout->new( "$Kephra::NAME $Kephra::VERSION : " . Kephra::Document::Data::file_name() ); #$ep->FormatRange(doDraw,startPos,endPos,draw,target,renderRect,pageRect); #$printer->Print( $frame, $printout, 1 ); $printout->Destroy; } sub close { close_current() } sub close_current { close_nr( Kephra::Document::Data::current_nr() ) } sub close_nr { my $doc_nr = shift; my $ep = Kephra::Document::Data::_ep($doc_nr); my $config = _config()->{save}; my $save_answer= &Wx::wxNO; # save text if options demand it if ($ep->GetModify == 1 or $config->{unchanged} eq 1) { if ($ep->GetTextLength > 0 or $config->{empty} eq 1) { if ($config->{b4_close} eq 'ask' or $config->{b4_close} eq '2'){ my $l10n = _dialog_l18n()->{file}; $save_answer = Kephra::Dialog::get_confirm_3 ($l10n->{save_current}, $l10n->{close_unsaved} ); } return if $save_answer == &Wx::wxCANCEL; if ($save_answer == &Wx::wxYES or $config->{b4_close} eq '1') { _save_nr($doc_nr) } else{ savepoint_reached($doc_nr) if $ep->GetModify } } } # proceed close_nr_unsaved($doc_nr); } sub close_other { my $doc_nr = Kephra::Document::Data::current_nr(); Kephra::Document::Change::to_number(0); $_ != $doc_nr ? close_current() : Kephra::Document::Change::to_number(1) for @{ Kephra::Document::Data::all_nr() }; } sub close_all { close_current($_) for @{ Kephra::Document::Data::all_nr() } } sub close_unsaved { close_current_unsaved() } sub close_current_unsaved { close_nr_unsaved( Kephra::Document::Data::current_nr()) } sub close_nr_unsaved { my $doc_nr = shift; my $current = Kephra::Document::Data::current_nr(); my $ep = Kephra::Document::Data::_ep( $doc_nr ); my $file = Kephra::Document::Data::get_file_path( $doc_nr ); my $buffer = Kephra::Document::Data::get_value( 'buffer' ); if ($file){ Kephra::App::EditPanel::Fold::store( $doc_nr ); Kephra::Edit::Marker::store( $doc_nr ); } Kephra::EventTable::trigger('document.close'); # empty last document if ( $buffer == 1 ) { Kephra::Document::Data::set_value('loaded', 0); Kephra::Document::reset(0); } # close document elsif ( $buffer > 1 ) { # select to which file nr to jump my $close_last = $doc_nr == Kephra::Document::Data::last_nr(); my $switch = $doc_nr == $current; if ($switch){ $close_last ? Kephra::Document::Change::to_number( $doc_nr - 1 ) : Kephra::Document::Change::to_number( $doc_nr + 1 ); } Kephra::Document::Data::dec_value('buffer'); Kephra::Document::Data::dec_value('loaded') if Kephra::Document::Data::get_file_path( $doc_nr ); Kephra::App::TabBar::delete_tab_by_doc_nr( $doc_nr ); Kephra::Document::Data::delete_slot( $doc_nr ); Kephra::Document::Data::set_current_nr( $doc_nr ) unless $close_last and $switch; } Kephra::App::Window::refresh_title(); Kephra::App::EditPanel::gets_focus(); Kephra::EventTable::trigger('document.list'); } sub close_all_unsaved { close_current_unsaved() for @{ Kephra::Document::Data::all_nr() } } sub close_other_unsaved { my $doc_nr = Kephra::Document::Data::current_nr(); Kephra::Document::Change::to_number(0); $_ != $doc_nr ? close_unsaved() : Kephra::Document::Change::to_number(1) for @{ Kephra::Document::Data::all_nr() }; } 1; =head1 NAME Kephra::File - basic file menu functions =head1 DESCRIPTION file menu calls drag n drop files file save events =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Config.pm0000644000175000017500000001154611573645310017654 0ustar rizlarizlapackage Kephra::Config; our $VERSION = '0.35'; use strict; use warnings; use Cwd(); use File::Spec (); # # Files and Dirs # my $dir; sub _dir { if (defined $_[0]) {$dir = $_[0]} else {$dir} } # Generate a path to a configuration file sub filepath { File::Spec->catfile( $dir, @_ ) if $_[0] } sub existing_filepath { my $path = filepath( @_ ); unless ( -f $path ) { warn("The config file '$path' does not exist"); } return $path; } sub path_from_node { my $node = shift; return unless defined $node and ref $node eq 'HASH'; if (exists $node->{file}){ if (exists $node->{directory}){ return filepath($node->{directory}, $node->{file}); } else { return filepath($node->{file}); } } else { warn "Wrong node to build config path from." } } sub dirpath { File::Spec->catdir( $dir, @_ ) } sub existing_dirpath { my $path = dirpath( @_ ); unless ( -d $path ) { warn("The config directory '$path' does not exist"); } return $path; } sub standartize_path_slashes { File::Spec->canonpath( shift ) } sub path_matches { my $given = shift; return unless defined $given and $given and @_; for my $path (@_) { return 1 if defined $path and index (standartize_path_slashes($path), $given) > -1; } return 0; } sub open_file { open_file_absolute( filepath(@_) ) } sub open_file_absolute { Kephra::Document::add( $_[0] ); Kephra::Document::Data::set_attribute('config_file',1); Kephra::App::TabBar::refresh_current_label(); } # # Wx GUI Stuff # # Create a Wx::Colour from a config string # Either hex "0066FF" or decimal "0,128,255" is allowed. sub color { my $string = shift; return Kephra::App::warn("Color string is not defined") unless defined $string; # Handle hex format $string = lc $string; if ( $string =~ /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i ) { return Wx::Colour->new( hex $1, hex $2, hex $3 ); } # Handle comma-seperated if ( $string =~ /^(\d+),(\d+),(\d+)$/ ) { return Wx::Colour->new( $1 + 0, $2 + 0, $3 + 0 ); } # Unknown die "Unknown color string '$string'"; } # Create an icon bitmap Wx::Bitmap for a named icon sub icon_bitmap { # Find the path from the name my $name = shift; unless ( defined $name ) { warn "Did not provide an icon name to icon_bitmap"; return; } $name .= '.xpm' unless $name =~ /\.xpm$/ ; my $path = filepath( Kephra::API::settings()->{app}{iconset_path}, $name ); return Wx::Bitmap->new(16,16) unless -e $path; my $bitmap = Wx::Bitmap->new( $path, &Wx::wxBITMAP_TYPE_ANY ); unless ( $bitmap ) { warn "Failed to create bit map from $path"; return; } return $bitmap; } sub set_xp_style { my $xp_def_file = "$^X.manifest"; if ( $^O eq 'MSWin32' ) { if ( ( Kephra::API::settings()->{app}{xp_style} eq '1' ) and ( !-r $xp_def_file ) ) { Kephra::Config::Default::drop_xp_style_file($xp_def_file); } if ( ( Kephra::API::settings()->{app}{xp_style} eq '0' ) and ( -r $xp_def_file ) ) { unlink $xp_def_file; } } } # # misc helper stuff # sub build_fileendings2syntaxstyle_map { foreach ( keys %{ Kephra::API::settings()->{file}{endings} } ) { my $language_id = $_; my @fileendings = split( /\s+/, Kephra::API::settings()->{file}{endings}{$language_id} ); foreach ( @fileendings ) { $Kephra::temp{file}{end2langmap}{$_} = $language_id; } } } sub build_fileendings_filterstring { my $l18n = Kephra::Config::Localisation::strings()->{dialog}; my $files = $l18n->{file}{files}; my $all = $l18n->{general}{all} . " $files "; $all .= $^O =~ /win/i ? "(*.*)|*.*" : "(*)|*"; my $tfile = $Kephra::temp{file}; $tfile->{filterstring}{all} = $all; my $conf = Kephra::API::settings()->{file}; foreach ( keys %{$conf->{group}} ) { my ( $filter_id, $file_filter ) = ( $_, '' ); my $filter_name = ucfirst($filter_id); my @language_ids = split( /\s+/, $conf->{group}{$filter_id} ); foreach ( @language_ids ) { my @fileendings = split( /\s+/, $conf->{endings}{$_} ); foreach (@fileendings) { $file_filter .= "*.$_;"; } } chop($file_filter); $tfile->{filterstring}{all} .= "|$filter_name $files ($file_filter)|$file_filter"; } $tfile->{filterstring}{config} = "Config $files (*.conf;*.yaml)|*.conf;*.yaml|$all"; $tfile->{filterstring}{scite} = "Scite $files (*.ses)|*.ses|$all"; } sub _map2hash { my ( $style, $types_str ) = @_; my $stylemap = {}; # holds the style map my @types = split( /\s+/, $types_str ); foreach (@types) { $$stylemap{$_} = $style; } return ($stylemap); } sub _lc_utf { my $uc = shift; my $lc = ""; for ( 0 .. length($uc) - 1 ) { $lc .= lcfirst( substr( $uc, $_, 1 ) ); } $lc; } #pce:dialog::msg_box(undef,$mode,''); #Wx::wxUNICODE() 1; =head1 NAME Kephra::Config - low level config stuff and basics =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/CommandList.pm0000644000175000017500000001672411573645310020664 0ustar rizlarizlapackage Kephra::CommandList; our $VERSION = '0.15'; use strict; use warnings; use YAML::Tiny(); my %list; # the real commandlist my @keymap; # maps numerical key code to cmd call ref sub data { if (ref $_[0] eq 'HASH') { %list = %{$_[0]} } else { \%list } } sub clear { %list = () } sub file { Kephra::Config::filepath( _config()->{file}) } sub _config{ Kephra::API::settings()->{app}{commandlist} } #sub load_cache { %list = %{ YAML::Tiny::LoadFile( $_[0] ) }} #sub store_cache { YAML::Tiny::DumpFile( \%list ) } # @hash1{keys %hash2} = values %hash2; # refactor commandlist definition & localisation data into a format that can be # evaled and used by gui parts sub load { my $cmd_list_def = Kephra::Config::File::load_from_node_data( _config() ); $cmd_list_def = Kephra::Config::Default::commandlist() unless $cmd_list_def; assemble_data($cmd_list_def); } sub assemble_data { my $cmd_list_def = shift; no strict; local ($leaf_type, $cmd_id, $target_leafe); # copy data of a hash structures into specified commandlist leafes for my $key ( qw{call enable enable_event state state_event key icon} ) { _copy_values_of_nested_list($cmd_list_def->{$key}, $key); } my $l18n = Kephra::Config::Localisation::strings(); _copy_values_of_nested_list($l18n->{commandlist}{label},'label'); _copy_values_of_nested_list($l18n->{commandlist}{help}, 'help'); numify_key_code( keys %list ); undef $leaf_type; undef $cmd_id; undef $target_leafe; } sub eval_data { eval_cmd_data( keys %list ) } sub _copy_values_of_nested_list { my $root_node = shift; # source no strict; $target_leafe = shift; _parse_and_copy_node($root_node, '') if ref $root_node eq 'HASH'; } sub _parse_and_copy_node { my ($parent_node, $parent_id) = @_; no strict; for ( keys %$parent_node ){ $cmd_id = $parent_id . $_; $leaf_type = ref $parent_node->{$_}; if (not $leaf_type) { $list{$cmd_id}{$target_leafe} = $parent_node->{$_} if $parent_node->{$_}; } elsif ($leaf_type eq 'HASH'){ _parse_and_copy_node($parent_node->{$_}, $cmd_id . '-') } } } sub numify_key_code { my @cmd = @_; my ($item_data, $rest, $kcode, $kname, $i, $char); #rawdata, keycode my $k18n = Kephra::Config::Localisation::strings()->{key}; my $shift = $k18n->{meta}{shift}. '+'; my $alt = $k18n->{meta}{alt} . '+'; my $ctrl = $k18n->{meta}{ctrl} . '+'; my %keycode_map = ( back => &Wx::WXK_BACK, tab => &Wx::WXK_TAB, enter => &Wx::WXK_RETURN, esc => &Wx::WXK_ESCAPE, space => &Wx::WXK_SPACE, plus => 43, minus => 45, sharp => 47, tilde => 92, del=> &Wx::WXK_DELETE, ins => &Wx::WXK_INSERT, pgup => &Wx::WXK_PAGEUP, pgdn => &Wx::WXK_PAGEDOWN, home => &Wx::WXK_HOME, end => &Wx::WXK_END, left => &Wx::WXK_LEFT, up => &Wx::WXK_UP, right => &Wx::WXK_RIGHT, down => &Wx::WXK_DOWN, f1 => &Wx::WXK_F1, f2 => &Wx::WXK_F2, f3 => &Wx::WXK_F3, f4 => &Wx::WXK_F4, f5 => &Wx::WXK_F5, f6 => &Wx::WXK_F6, f7 => &Wx::WXK_F7, f8 => &Wx::WXK_F8, f9 => &Wx::WXK_F9,f10 => &Wx::WXK_F10,f11 => &Wx::WXK_F11,f12 => &Wx::WXK_F12, numpad_enter => &Wx::WXK_NUMPAD_ENTER ); for (@cmd){ $item_data = $list{$_}; next unless exists $item_data->{key}; $rest = $item_data->{key}; $kname = ''; $kcode = 0; while (){ $i = index $rest, '+'; last unless $i > 0; $char = lc substr $rest, 0, 1; if ($char eq 's') {$kname .= $shift; $kcode += 1000} elsif ($char eq 'c') {$kname .= $ctrl; $kcode += 2000} elsif ($char eq 'a') {$kname .= $alt; $kcode += 4000} $rest = substr $rest, $i + 1; } $kname .= exists $k18n->{$rest} ? $k18n->{$rest} : ucfirst $rest; $item_data->{key} = $kname; $kcode += length($rest) == 1 ? ord uc $rest : $keycode_map{$rest}; $item_data->{keycode} = $kcode; } } sub eval_cmd_data { my @cmd = @_; my ($item_data, $ico_path); for (@cmd){ my $item_data = $list{$_}; $item_data->{sub} = $item_data->{call}; $item_data->{sub} =~ tr/()&;/ /d if $item_data->{sub}; for my $node_type (qw(call state enable)) { $item_data->{$node_type} = eval 'sub {'.$item_data->{$node_type}.'}' if $item_data->{$node_type}; } if ($item_data->{call} and $item_data->{key}){ $keymap[$item_data->{keycode}] = $item_data->{call}; } next unless $item_data->{icon}; $item_data->{icon} = Kephra::Config::icon_bitmap($item_data->{icon}); } } # # external API - getting cmd date, manipulating content # sub new_cmd { replace_cmd(@_) unless exists $list{ $_[0] } } sub new_cmd_list { for (@_) { #new_cmd(); } } sub replace_cmd { my ($cmd_id, $properties) = @_; return unless ref $properties eq 'HASH'; # if node exist, copy juste assigned values if ( exists $list{$cmd_id}) { $list{$cmd_id}{$_} = $properties->{$_} for keys %$properties; } else { $list{$cmd_id} = $properties } numify_key_code($cmd_id); eval_cmd_data($cmd_id); } sub del_cmd { delete @list{$_[0]} } sub rename_cmd { my ($old_ID, $new_ID) = @_; return unless $new_ID and ref $list{$old_ID} eq 'HASH'; $list{$new_ID} = $list{$old_ID}; del_cmd($old_ID); } sub get_cmd_property { # explicit value of one command my $cmd_id = shift; my $leafe = shift; $list{$cmd_id}{$leafe} if ref $list{$cmd_id} eq 'HASH' and exists $list{$cmd_id}{$leafe}; } sub get_cmd_properties { # all values of one command my $cmd_id = shift; $list{$cmd_id} if ref $list{$cmd_id} eq 'HASH'; } sub get_property_list { # values of same type from different commands my $property = shift; my @result; for (@_) { push @result, $list{$_}{$property} if exists $list{$_}{$property} } return @result; } sub run_cmd_by_id { my $cmd_id = shift; $list{$cmd_id}{call}() if ref $list{$cmd_id}{call} eq 'CODE'; } sub run_cmd_by_keycode { my $keycode = shift; if (ref $keymap[$keycode] eq 'CODE'){ $keymap[$keycode](); return 1; } return 0; } sub del_temp_data{ my $l18n = Kephra::Config::Localisation::strings(); delete $l18n->{commandlist} if exists $l18n->{commandlist}; #delete $Kephra::localisation{key} # if exists $l18n->{key}; } =head1 NAME Kephra::API::CommandList - external API for user callable functions =head1 DESCRIPTION The CommandList is a dynamically changeable list, that contains all the function calls for every menu item, toolbar button and most other widget items. It holds also label, help text, key binding, icon and more for each command. All these properties have to be changed globally here in a clean way. These commands where used by different gui elements, that allows menu and toolbar definitions to be very compact, readable and and easy changeable. Names of commands contain dashes as separator of namespaces. =head1 SPECIFICATION CommandlistItem =over 4 =item * ID - unique identifier, hashkey, following hash is its value =item * call - CODEREF : actual action, performed when this command is called =item * sub - string : name of the called routine =item * enable - CODEREF : returns enable status (0 for disable) =item * enable_event - string : API::EventTable ID when to check to en/disable =item * state - CODEREF : that returns state value (for switches) =item * state_event - string : API::EventTable ID when to check is state changed =item * label - string : descriptive name =item * help - string : short help sentence =item * key - string : label of key binding =item * keycode - numeric keycode =item * icon - Wx::Bitmap =back =cut 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/File/0000755000175000017500000000000011633700043016751 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/File/IO.pm0000644000175000017500000000511111602234074017616 0ustar rizlarizlapackage Kephra::File::IO; our $VERSION = '0.20'; use strict; use warnings; # read a file into a scintilla buffer, is much faster then open_buffer sub open_buffer { my $doc_nr = shift; my $file = shift || Kephra::Document::Data::get_file_path($doc_nr); my $ep = shift || Kephra::Document::Data::_ep($doc_nr); my $err_txt= Kephra::API::localisation->{dialog}{error}; my $input; unless ($file) { Kephra::Dialog::warning_box("file_read " . $err_txt->{no_param}, $err_txt->{general} ); } else { unless ( -r $file ) { Kephra::Dialog::warning_box( $err_txt->{file_read} . " " . $file, $err_txt->{file} ); } else { my $did_open = open my $FH,'<', $file; unless ($did_open){ Kephra::Dialog::warning_box($err_txt->{file_read} . " $file", $err_txt->{file}); return 0; } my $codepage = Kephra::Document::Data::get_attribute('codepage', $doc_nr); if ($codepage eq 'auto'){ binmode $FH; read $FH, my $probe, 20000; if ($probe){ my $enc = Encode::Guess::guess_encoding( $probe, 'latin1' ); seek $FH, 0, 0; $codepage = $enc =~ /utf8/ ? 'utf8' : '8bit'; Kephra::Document::Data::set_attribute('codepage', $codepage, $doc_nr); } else { $codepage = Kephra::File::_config->{defaultsettings}{new}{codepage}; } Kephra::Document::Data::set_attribute('codepage', $codepage, $doc_nr); } binmode $FH, $codepage eq 'utf8' ? ":utf8" : ":raw"; # ":encoding(utf8)" Kephra::EventTable::freeze('document.text.change'); my $content = do { local $/; <$FH> }; $ep->AddText( $content ) if defined $content; Kephra::EventTable::thaw('document.text.change'); return 1; } } return 0; } # wite into file from buffer variable sub write_buffer { my $doc_nr = shift || Kephra::Document::Data::current_nr(); my $file = shift || Kephra::Document::Data::get_file_path($doc_nr); my $ep = shift || Kephra::Document::Data::_ep($doc_nr); my $err_txt = Kephra::API::localisation->{dialog}{error}; # check if there is a name or if file that you overwrite is locked if ( not $file or (-e $file and not -w $file) ) { Kephra::Dialog::warning_box ("file_write " . $err_txt->{'no_param'}, $err_txt->{general} ); } else { my $codepage = Kephra::Document::Data::get_attribute('codepage', $doc_nr); my $did_open = open my $FH, '>', $file; unless ($did_open){ Kephra::Dialog::warning_box($err_txt->{file_write} . " $file", $err_txt->{file} ); return 0; } binmode $FH, $codepage eq 'utf8' ? ":utf8" : ":raw"; # ":encoding(utf8)" print $FH $ep->GetText(); } } sub get_age { my $file = shift; return (stat $file)[9] if -e $file; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/File/History.pm0000644000175000017500000000501411602234103020743 0ustar rizlarizlapackage Kephra::File::History; our $VERSION = '0.06'; use strict; use warnings; my @session = (); my $menu_id = '&file_history'; my $refresh_needed; my $loaded; # internal Module API sub _config { Kephra::API::settings()->{file}{session}{history} } # external Appwide API sub init { return if scalar @session; my $config = Kephra::File::Session::_config(); return unless defined $config; my $subdir = $config->{directory}; my $file = Kephra::Config::filepath( $subdir, _config()->{file} ); my $config_tree = Kephra::Config::File::load($file); if (ref $config_tree->{document} eq 'ARRAY'){ @session = @{$config_tree->{document}}; } Kephra::EventTable::add_call ( 'document.close', __PACKAGE__, sub { Kephra::File::History::add( Kephra::Document::Data::current_nr() ); }, __PACKAGE__ ); $loaded = 1; } sub had_init {$loaded} sub save { my $subdir = Kephra::File::Session::_config()->{directory}; my $file = Kephra::Config::filepath( $subdir, _config()->{file} ); my $config_tree; @{$config_tree->{document}} = @session; Kephra::Config::File::store( $file, $config_tree); } sub delete_gone { my $length = @session; my $file = Kephra::Document::Data::get_file_path(); @session = grep { $_->{file_path} ne $file } @session; $refresh_needed = 1 if $length != @session; } sub get { delete_gone(); \@session; } sub update { delete_gone(); if ($refresh_needed){ $refresh_needed = 0; return 1; } } sub add { my $doc_nr = Kephra::Document::Data::validate_doc_nr(shift); return if $doc_nr < 0; my $attr = Kephra::Document::Data::_hash($doc_nr); return unless $attr->{'file_name'}; my %saved_attr; $saved_attr{$_} = $attr->{$_} for @{ Kephra::File::Session::_saved_properties() }; unshift @session, \%saved_attr; my $length = _config->{length} || 0; pop @session while @session > $length; $refresh_needed = 1; } sub open { my $hist_nr = shift; return if $hist_nr < 0 or $hist_nr > $#session; my $doc_nr = Kephra::Document::Data::get_current_nr(); my $new_nr = Kephra::Document::restore( splice @session, $hist_nr , 1 ); Kephra::Document::Data::set_current_nr( $doc_nr ); Kephra::Document::Change::to_number( $new_nr ); $refresh_needed = 1; Kephra::EventTable::trigger('document.list'); } sub open_all { my $new_nr; my $doc_nr = Kephra::Document::Data::get_current_nr(); $new_nr = Kephra::Document::restore( $_ ) for @session; Kephra::Document::Data::set_current_nr( $doc_nr ); Kephra::Document::Change::to_number( $new_nr ); @session = (); $refresh_needed = 1; Kephra::EventTable::trigger('document.list'); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/File/Session.pm0000644000175000017500000001557711602234054020751 0ustar rizlarizlapackage Kephra::File::Session; our $VERSION = '0.17'; use strict; use warnings; # intern API sub _config { Kephra::API::settings()->{file}{session} } sub _dialog_l18n { Kephra::Config::Localisation::strings()->{dialog} } sub _saved_properties {[ qw( syntaxmode EOL codepage readonly tab_size tab_use cursor_pos edit_pos marked_lines folded_lines file_path config_file )]} sub _forget_gone_files { my @true_files = (); my $node = shift; $node = $$node if ref $node eq 'REF' and ref $$node eq 'ARRAY'; if ( ref $node eq 'ARRAY' ) { my @files = @{$node}; for ( 0 .. $#files ) { if ( defined $files[$_]{file_path} and -e $files[$_]{file_path} ) { my %file_properties = %{ $files[$_] }; push( @true_files, \%file_properties ); } } } return \@true_files; } sub _remember_directory { my ( $filename, $dir, @dirs ) = shift; if ( length($filename) > 0 ) { @dirs = split( /\\/, $filename ) if $filename =~ /\\/ ; @dirs = split( /\//, $filename ) if $filename =~ /\// ; $dir .= "$dirs[$_]/" for 0 .. $#dirs - 1; _config()->{dialog_dir} = $dir if $dir; } } sub _add { my $session_data = shift; # session data return unless %$session_data and $session_data->{document} and $session_data->{document}[0]; my @load_files = @{Kephra::Config::Tree::_convert_node_2_AoH ( \$session_data->{document} )}; @load_files = @{ _forget_gone_files( \@load_files ) }; my $start_nr = Kephra::Document::Data::current_nr(); my $prev_doc_nr = Kephra::Document::Data::previous_nr(); my $loaded = Kephra::Document::Data::get_value('loaded'); Kephra::Document::Data::update_attributes($start_nr); $start_nr = $session_data->{current_nr} if $session_data->{current_nr} and not $loaded and Kephra::App::EditPanel::_ref()->GetText eq ''; # open remembered files with all properties Kephra::Document::restore( $_ ) for @load_files; my $buffer = Kephra::Document::Data::get_value('buffer'); # selecting starting doc nr $start_nr = 0 if (not defined $start_nr) or ($start_nr < 0 ); $start_nr = $buffer - 1 if $start_nr >= $buffer; # activate the starting document & some afterwork Kephra::Document::Change::to_number($start_nr); Kephra::Document::Data::set_previous_nr($prev_doc_nr); Kephra::App::Window::refresh_title(); } # # extern API # sub restore { my $file = shift; return unless -e $file; Kephra::File::close_all(); add($file); } sub restore_from { # my $file = Kephra::Dialog::get_file_open( _dialog_l18n()->{file}{open_session}, Kephra::Config::filepath( _config->{directory} ), $Kephra::temp{file}{filterstring}{config} ); restore($file); } sub add { my $file = shift; my $restore = shift; if (-r $file) { my $session_def = Kephra::Config::File::load($file); if (ref $session_def eq 'HASH'){ _add($session_def); } else { Kephra::Dialog::warning_box($file, _dialog_l18n()->{error}{config_parse}); } } else { Kephra::Dialog::warning_box($file, _dialog_l18n()->{error}{file_read}); } } sub add_from { my $file = Kephra::Dialog::get_file_open( _dialog_l18n()->{file}{add_session}, Kephra::Config::filepath( _config->{directory} ), $Kephra::temp{file}{filterstring}{config} ); add($file); } sub save { my $file = shift; return unless $file; Kephra::Config::Global::update(); my $doc2vis = \&Kephra::App::TabBar::_doc2vis_pos; my $config = _config(); my %temp_config = %{ Kephra::Config::File::load($file) } if -r $file; $temp_config{current_nr} = $doc2vis->(Kephra::Document::Data::current_nr()); $temp_config{document} = []; my @doc_list = @{ Kephra::Document::Data::_attributes() }; for my $nr (0 .. $#doc_list) { my $vis_pos = $doc2vis->($nr); $temp_config{document}[$vis_pos]{$_} = $doc_list[$nr]{$_} for @{ _saved_properties() }; } @{ $temp_config{document} } = @{ _forget_gone_files( \$temp_config{document} ) }; Kephra::Config::File::store( $file, \%temp_config ); } sub save_as { my $file_name = Kephra::Dialog::get_file_save( _dialog_l18n()->{file}{save_session}, Kephra::Config::filepath( _config->{directory} ), $Kephra::temp{file}{filterstring}{config} ); if ( length($file_name) > 0 ) { save( $file_name, "files" ); _remember_directory($file_name); } } # default session handling sub do_autosave { # answers if autosave is turned on by config settings my $config = _config()->{auto}{save}; return 1 if defined $config and $config and not $config eq 'not'; return 0; } sub autoload { # restore session that was opened while last app shut down if ( do_autosave() ) { my $config = _config(); my $session_file = Kephra::Config::filepath ( $config->{directory}, $config->{auto}{file} ); restore($session_file); } else { Kephra::Document::reset() } } sub autosave { my $config = _config(); my $file = Kephra::Config::filepath($config->{directory}, $config->{auto}{file}); save( $file ) if do_autosave(); } # backup session handling sub load_backup { my $config = _config(); restore( Kephra::Config::filepath( $config->{directory}, $config->{backup} ) ); } sub save_backup { my $config = _config(); save( Kephra::Config::filepath( $config->{directory}, $config->{backup} ) ); } # other session formats sub import_scite { my $err_msg = _dialog_l18n()->{error}; my $file = Kephra::Dialog::get_file_open ( _dialog_l18n()->{file}{open_session}, $Kephra::temp{path}{config}, $Kephra::temp{file}{filterstring}{scite} ); if ( -r $file ) { if ( open my $FH, '<', $file ) { my @load_files; my ( $start_file_nr, $file_nr ); while (<$FH>) { m/ (.+)/; if ( -e $3 ) { $start_file_nr = $file_nr if $1; $load_files[$file_nr]{cursor_pos} = $2; $load_files[$file_nr++]{file_path} = $3; } } if (@load_files) { &Kephra::File::close_all; for (@load_files) { Kephra::Document::add( ${$_}{file_path} ); Kephra::Edit::_goto_pos( ${$_}{cursor_pos} ); } Kephra::Document::Change::to_number($start_file_nr); $Kephra::document{previous_nr} = $start_file_nr; } else { Kephra::Dialog::warning_box($file, $err_msg->{config_parse}); } } else { Kephra::Dialog::warning_box ($err_msg->{file_read}." $file", $err_msg->{file}); } } } sub export_scite { my $win = Kephra::App::Window::_ref(); my $file = Kephra::Dialog::get_file_save( _dialog_l18n()->{file}{save_session}, $Kephra::temp{path}{config}, $Kephra::temp{file}{filterstring}{scite} ); if ( length($file) > 0 ) { if ( open my $FH, '>', $file ) { my $current = Kephra::Document::Data::current_nr(); my $output; for ( @{ Kephra::Document::Data::all_nr() } ) { my %file_attr = %{ Kephra::Document::Data::_hash($_) }; if ( -e $file_attr{file_path} ) { $output .= "{error}; Kephra::Dialog::warning_box ($err_msg->{file_write}." $file", $err_msg->{file} ); } } } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit.pm0000644000175000017500000003156511573645310017337 0ustar rizlarizlapackage Kephra::Edit; our $VERSION = '0.42'; use strict; use warnings; # # internal helper function # sub _ep_ref { Kephra::App::EditPanel::_ref() } sub _keep_focus{ Wx::Window::SetFocus( _ep_ref() ) } sub _let_caret_visible { my $ep = _ep_ref(); my ($selstart, $selend) = $ep->GetSelection; my $los = $ep->LinesOnScreen; if ( $selstart == $selend ) { $ep->ScrollToLine($ep->GetCurrentLine - ( $los / 2 )) unless $ep->GetLineVisible( $ep->GetCurrentLine() ); } else { my $startline = $ep->LineFromPosition($selstart); my $endline = $ep->LineFromPosition($selend); $ep->ScrollToLine( $startline - (($los - $endline - $startline) / 2) ) unless $ep->GetLineVisible($startline) and $ep->GetLineVisible($endline); } $ep->EnsureCaretVisible; } sub _center_caret { my $ep = _ep_ref(); my $line = $ep->GetCurrentLine(); $ep->ScrollToLine( $line - ( $ep->LinesOnScreen / 2 )); $ep->EnsureVisible($line); $ep->EnsureCaretVisible(); } my @pos_stack; sub _save_positions { my $ep = _ep_ref(); my %pos; $pos{document} = Kephra::Document::Data::current_nr(); $pos{pos} = $ep->GetCurrentPos; $pos{line} = $ep->GetCurrentLine; $pos{col} = $ep->GetColumn( $pos{pos} ); $pos{sel_begin} = $ep->GetSelectionStart; $pos{sel_end} = $ep->GetSelectionEnd; push @pos_stack, \%pos; } sub _restore_positions { my $ep = _ep_ref(); my %pos = %{ pop @pos_stack }; if (%pos) { Kephra::Document::Change::to_number( $pos{document} ) if $pos{document} != Kephra::Document::Data::current_nr(); $ep->SetCurrentPos( $pos{pos} ); $ep->GotoLine( $pos{line} ) if $ep->GetCurrentLine != $pos{line}; if ( $ep->GetColumn( $ep->GetCurrentPos ) == $pos{col} ) { $ep->SetSelection( $pos{sel_begin}, $pos{sel_end} ); } else { my $npos = $ep->PositionFromLine( $pos{line} ) + $pos{col}; my $max = $ep->GetLineEndPosition( $pos{line} ); $npos = $max if $npos > $max; $ep->SetCurrentPos($npos); $ep->SetSelection( $npos, $npos ); } } &_let_caret_visible; } sub _select_all_if_none { my $ep = _ep_ref(); my ($start, $end) = $ep->GetSelection; if ( $start == $end ) { $ep->SelectAll; ($start, $end) = $ep->GetSelection; } return $ep->GetTextRange( $start, $end ); } sub _selection_left_to_right { my $ep = shift || _ep_ref(); my ($start, $end) = $ep->GetSelection; my $pos = $ep->GetCurrentPos; return -1 if $start == $end; return $start == $pos ? 0 : 1; } sub _nearest_grid_pos { # position in document from given line and column my $line = shift; my $col = shift; my $ep = shift || _ep_ref(); return unless defined $col; # first staight foreward attempt my $lpos = $ep->PositionFromLine($line); my $pos = $lpos + $col; return $pos if $ep->GetColumn($pos) == $col and $ep->LineFromPosition($pos) == $line; # if line too short take last pos of line my $endpos = $ep->GetLineEndPosition($line); return $endpos if $ep->GetColumn($endpos) < $col; # if tabs used calculate my $ipos = $ep->GetLineIndentation($line); my $icol = $ep->GetColumn($ipos); return $ipos + $col - $icol if $icol <= $col; # if between indenting tabs take neares my $tabsize = $ep->GetTabWidth(); my $tabs = $col / $tabsize; return ($col % $tabsize < $tabsize / 2) ? $lpos + $tabs : $lpos + $tabs + 1; } sub can_paste { _ep_ref()->CanPaste } sub can_copy { Kephra::Document::Data::attr('text_selected') } # # simple textedit # sub cut { _ep_ref()->Cut } sub copy { my $ep = _ep_ref(); $ep->Copy; $ep->SelectionIsRectangle() ? Kephra::Document::Data::set_value('copied_rect_selection',get_clipboard_text()) : Kephra::Document::Data::set_value('copied_rect_selection',''); } sub paste { my $lch = Kephra::Document::Data::get_value('copied_rect_selection'); my $cb = get_clipboard_text(); (defined $lch and $lch eq $cb) ? paste_rectangular($cb) : _ep_ref()->Paste; } sub paste_rectangular { my $text = shift || get_clipboard_text(); my $ep = shift || _ep_ref(); my $dragpos = shift; my $droppos = shift; # all additional parameters have to be provided or no one return -1 if defined $dragpos and not defined $droppos; my @lines = split( /[\r\n]+/, $text); $droppos = $ep->GetCurrentPos unless defined $dragpos; my $linenr = $ep->LineFromPosition( $droppos ); my $colnr = $ep->GetColumn($droppos ); if (defined $dragpos){ # calculate real drop position if dragged foreward # because selection is cut out before inserted and this changed droppos if ($dragpos <= $droppos){ my $selwidth = length $lines[0]; my $dnddelta = $linenr - $ep->LineFromPosition( $dragpos ); my $max = scalar @lines; #$dnddelta = $max < $dnddelta ? $max : $dnddelta; #$dnddelta *= $selwidth; #$droppos -= $dnddelta; #print "$dragpos ---$droppos\n"; } } $ep->BeginUndoAction; $ep->ReplaceSelection(''),$ep->SetCurrentPos($droppos) if defined $dragpos; my $insertpos; for my $line (@lines){ $insertpos = $ep->PositionFromLine($linenr) + $colnr; $insertpos += $colnr - $ep->GetColumn( $insertpos ) ; $insertpos = $ep->GetLineEndPosition($linenr) if $ep->LineFromPosition( $insertpos ) > $linenr; $ep->InsertText( $insertpos, $line); $linenr++; } $ep->EndUndoAction; } sub replace { my $ep = _ep_ref(); my $text = get_clipboard_text(); copy(); _ep_ref()->ReplaceSelection($text); } sub clear { _ep_ref()->Clear } sub get_clipboard_text { my $cboard = &Wx::wxTheClipboard; my $text; $cboard->Open; if ( $cboard->IsSupported( &Wx::wxDF_TEXT ) ) { my $data = Wx::TextDataObject->new; my $ok = $cboard->GetData( $data ); if ( $ok ) { $text = $data->GetText; } else { # todo: error handling } } $cboard->Close; return defined $text ? $text : -1; } sub del_back_tab{ my $ep = _ep_ref(); my $pos = $ep->GetCurrentPos(); my $tab_size = Kephra::Document::Data::attr('tab_size'); my $deltaspace = $ep->GetColumn($pos--) % $tab_size; $deltaspace = $tab_size unless $deltaspace; do { $ep->CmdKeyExecute(&Wx::wxSTC_CMD_DELETEBACK) } while $ep->GetCharAt(--$pos) == 32 and --$deltaspace; } # # Edit Selection # sub get_selection { _ep_ref()->GetSelectedText() } sub move_target { my $linedelta = shift; return unless defined $linedelta; my $ep = shift || _ep_ref(); my $targetstart = $ep->GetTargetStart(); my $targettext = $ep->GetTextRange($targetstart, $ep->GetTargetEnd()); $ep->BeginUndoAction; $ep->ReplaceTarget(''); $ep->InsertText($targetstart+$linedelta, $targettext); $ep->EndUndoAction; } sub move_selection { my $linedelta = shift; return unless defined $linedelta; my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $targettext = $ep->GetSelectedText(); $ep->BeginUndoAction; $ep->ReplaceSelection(''); my $pos = $ep->GetCurrentPos; $pos += $linedelta; $ep->InsertText($pos, $targettext); $ep->SetSelection($pos, $pos + $selend - $selbegin); $ep->EndUndoAction; } sub move_lines { my $linedelta = shift; return unless defined $linedelta; my $ep = shift || _ep_ref(); my ( $selbegin, $selend) = $ep->GetSelection(); my $sellength = $selend - $selbegin; my $selstartline = $ep->LineFromPosition($selbegin); my $targetstart = $ep->GetTargetStart(); my $targetend = $ep->GetTargetEnd(); my $blockbegin = $ep->PositionFromLine($selstartline); my $blockend = $ep->PositionFromLine( $ep->LineFromPosition($selend)+1 ); my $selcolumn = $selbegin - $blockbegin; # endmode is taken when last line on start or end of operation has no EOL # then i take the the EOL char from the line before instead and have to # insert in a pos before to keep consistent my $endmode; if ($blockend == $ep->GetLength() or $ep->LineFromPosition($selend) + $linedelta >= $ep->GetLineCount()-1 ) { $blockbegin = $ep->GetLineEndPosition($selstartline-1); $blockend = $ep->GetLineEndPosition( $ep->LineFromPosition($selend) ); $endmode = 1; } $selstartline += $linedelta; my $blocktext = $ep->GetTextRange($blockbegin, $blockend); $ep->BeginUndoAction; $ep->SetTargetStart( $blockbegin ); $ep->SetTargetEnd( $blockend ); $ep->ReplaceTarget(''); $selstartline = 0 if $selstartline < 0; $selstartline = $ep->GetLineCount() if $selstartline > $ep->GetLineCount(); my $target = $endmode ? $ep->GetLineEndPosition($selstartline-1) : $ep->PositionFromLine($selstartline); $ep->InsertText($target, $blocktext); $selbegin = $ep->PositionFromLine($selstartline) + $selcolumn; $ep->SetSelection($selbegin, $selbegin + $sellength); $ep->SetTargetStart($targetstart ); $ep->SetTargetEnd( $targetend ); $ep->EndUndoAction; } sub selection_move_left { my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); if ( $selbegin == $selend or $ep->LineFromPosition( $selbegin ) != $ep->LineFromPosition( $selend ) ) { Kephra::Edit::Format::dedent_tab(); } else { my $newpos = $ep->WordStartPosition($selbegin, 1); my $move_delta = $newpos == $selbegin ? -1 : $newpos - $selbegin; move_selection( $move_delta ); } } sub selection_move_right{ my $ep = _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $endline = $ep->LineFromPosition( $selend ); if ( $selbegin == $selend or $ep->LineFromPosition( $selbegin ) != $endline ) { Kephra::Edit::Format::indent_tab(); } else { my $newpos = $ep->WordEndPosition($selend, 1); my $move_delta = $newpos == $selend ? 1 : $newpos - $selend; move_selection( $move_delta ) unless $endline == $ep->GetLineCount() - 1 and $ep->GetLineEndPosition($endline) == $selend; } } sub selection_move_up { my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $firstline = $ep->LineFromPosition( $selbegin ); my $lastline = $ep->LineFromPosition( $selend ); if ( $selbegin != $selend and $firstline == $lastline) { my $line = $firstline; my $col = $ep->GetColumn( $selbegin ); return unless $line; $line--; move_selection( _nearest_grid_pos($line, $col) - $selbegin ); } else { move_lines( -1, $ep ) } } sub selection_move_down { my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $firstline = $ep->LineFromPosition( $selbegin ); my $lastline = $ep->LineFromPosition( $selend ); if ($selbegin != $selend and $firstline == $lastline) { my $line = $firstline; my $col = $ep->GetColumn( $selbegin ); return if $line+1 == $ep->GetLineCount(); $line++; move_selection( _nearest_grid_pos($line, $col) - $selend ); } else { move_lines( 1, $ep ) } } sub selection_move_page_up { my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $firstline = $ep->LineFromPosition( $selbegin ); my $lastline = $ep->LineFromPosition( $selend ); my $linedelta = $ep->LinesOnScreen; if ($selbegin != $selend and $firstline == $lastline) { my $line = $firstline; my $col = $ep->GetColumn( $selbegin ); return unless $line; $line -= $linedelta; $line = 0 if $line < 0; move_selection( _nearest_grid_pos($line, $col) - $selbegin ); } else { move_lines( -$linedelta, $ep ) } } sub selection_move_page_down { my $ep = shift || _ep_ref(); my ($selbegin, $selend) = $ep->GetSelection(); my $firstline = $ep->LineFromPosition( $selbegin ); my $lastline = $ep->LineFromPosition( $selend ); my $linedelta = $ep->LinesOnScreen; if ($selbegin != $selend and $firstline == $lastline) { my $line = $firstline; my $col = $ep->GetColumn( $selbegin ); return if $line+1 == $ep->GetLineCount(); $line += $linedelta; $line = $ep->GetLineCount()-1 if $line >= $ep->GetLineCount(); move_selection( _nearest_grid_pos($line, $col) - $selend ); } else { move_lines( $linedelta, $ep ) } } # sub insert { my ($text, $pos) = @_; return unless $text; my $ep = _ep_ref(); $pos = $ep->GetCurrentPos unless defined $pos; $ep->InsertText($pos, $text); $pos += length $text; $ep->SetSelection($pos, $pos); } sub insert_text { insert(@_) } sub insert_at_pos { insert(@_) } # # Edit Line # sub cut_current_line { _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_LINECUT) } sub copy_current_line{ _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_LINECOPY)} sub double_current_line { my $ep = _ep_ref(); my $pos = $ep->GetCurrentPos; $ep->BeginUndoAction; $ep->CmdKeyExecute(&Wx::wxSTC_CMD_LINECOPY); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_PASTE); $ep->GotoPos($pos); $ep->EndUndoAction; } sub replace_current_line { my $ep = _ep_ref(); my $line = $ep->GetCurrentLine; $ep->BeginUndoAction; $ep->GotoLine($line); $ep->Paste; $ep->SetSelection( $ep->GetSelectionEnd, $ep->GetLineEndPosition( $ep->GetCurrentLine ) ); $ep->Cut; $ep->GotoLine($line); $ep->EndUndoAction; } sub del_current_line{_ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_LINEDELETE)} sub del_line_left {_ep_ref()->DelLineLeft() } sub del_line_right {_ep_ref()->DelLineRight()} sub eval_newline_sub{} 1; __END__ =head1 NAME Kephra::Edit - basic edit menu calls and internals for editing =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/ToolBar.pm0000644000175000017500000001000311602233600017760 0ustar rizlarizlapackage Kephra::ToolBar; our $VERSION = '0.08'; use strict; use warnings; my %toolbar; sub _all { \%toolbar } sub _ref { if (ref $_[1] eq 'Wx::ToolBar') {$toolbar{$_[0]}{ref} = $_[1]} elsif(exists $toolbar{$_[0]}{ref}) {$toolbar{$_[0]}{ref}} } sub _data { $toolbar{$_[0]} if stored($_[0]) } sub stored { 1 if ref $toolbar{$_[0]} eq 'HASH'} sub _create_empty { Wx::ToolBar->new( Kephra::App::Window::_ref(), -1, [-1,-1], [-1,-1], &Wx::wxTB_HORIZONTAL|&Wx::wxTB_DOCKABLE ); } sub create_new { my $bar_id = shift; my $bar_def = shift; my $bar = _ref($bar_id); # destroy old safely when overwrite $bar->Destroy if defined $bar and $bar; _ref ($bar_id, _create_empty()); create($bar_id, $bar_def); } sub create { my $bar_id = shift; my $bar_def = shift; eval_data($bar_id, assemble_data_from_def($bar_def)); } sub assemble_data_from_def { my $bar_def = shift; return unless ref $bar_def eq 'ARRAY'; my @tbds = (); # toolbar data structure my $cmd_data; # for my $item_def (@$bar_def){ # undef means null string $item_def = '' unless defined $item_def; my %item; # skipping commented lines next if substr($item_def, -1) eq '#'; # recursive call for submenus if (ref $item_def eq 'HASH'){} # "parsing" item data ($item{type}, $item{id}, $item{size}) = split / /, $item_def; # skip separators if (not defined $item{type} or $item{type} eq 'separator'){ $item{type} = ''; # handle regular toolbar buttons } elsif( substr( $item{type}, -4) eq 'item' ) { $cmd_data = Kephra::CommandList::get_cmd_properties( $item{id} ); # skipping when command call is missing next unless ref $cmd_data and exists $cmd_data->{call}; for ('call','enable','enable_event','state', 'state_event','label', 'help','icon'){ $item{$_} = $cmd_data->{$_} if $cmd_data->{$_} } #$item{type} = 'item'if not $cmd_data->{state} and $item{type} eq 'checkitem'; } push @tbds, \%item; } return \@tbds; } sub eval_data { my $bar_id = shift; my $bar_data = shift; my $bar = _ref($bar_id); return $bar unless ref $bar_data eq 'ARRAY'; my $win = Kephra::App::Window::_ref(); my $item_kind; my @rest_items = (); my $bar_item_id = defined $toolbar{$bar_id}{item_id} ? $toolbar{$bar_id}{item_id} : $Kephra::app{GUI}{masterID}++ * 100; $toolbar{$bar_id}{item_id} = $bar_item_id; my $respond = Kephra::API::settings()->{app}{toolbar}{responsive}; for my $item_data (@$bar_data){ if (not $item_data->{type} or $item_data->{type} eq 'separator'){ $bar->AddSeparator; } elsif (ref $item_data->{icon} eq 'Wx::Bitmap'){ if ($item_data->{type} eq 'checkitem'){ $item_kind = &Wx::wxITEM_CHECK } elsif ($item_data->{type} eq 'item'){ $item_kind = &Wx::wxITEM_NORMAL } else { next } my $item_id = $bar_item_id++; my $tool = $bar->AddTool( $item_id, '', $item_data->{icon}, &Wx::wxNullBitmap, $item_kind, $item_data->{label}, $item_data->{help} ); Wx::Event::EVT_TOOL ($win, $item_id, $item_data->{call}); if (ref $item_data->{enable} eq 'CODE' and $respond){ $tool->Enable( $item_data->{enable}() ); for my $event (split /,/, $item_data->{enable_event}){ Kephra::EventTable::add_call ( $event, $bar_id.'_tool_enable_'.$item_id, sub{ $bar->EnableTool( $item_id, $item_data->{enable}() ) }, $bar_id); } } if (ref $item_data->{state} eq 'CODE' and $item_data->{type} eq 'checkitem'){ $bar->ToggleTool( $item_id, $item_data->{state}() ); for my $event (split /,/, $item_data->{state_event}){ Kephra::EventTable::add_call ( $event, , $bar_id.'_tool_state_'.$item_id, sub{ $bar->ToggleTool( $item_id, $item_data->{state}() ) }, $bar_id ); } } } else { $item_data->{pos} = $bar_item_id % 100 + @rest_items; push @rest_items, $item_data; } } $bar->Realize; $bar->SetRows(1); _ref($bar_id, $bar); return \@rest_items; } sub destroy { my $bar_ID = shift; my $bar = _ref( $bar_ID ); return unless $bar; $bar->Destroy; Kephra::EventTable::del_own_subscriptions( $bar_ID ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Document/0000755000175000017500000000000011633700043017650 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Document/Data.pm0000644000175000017500000002053411573645310021073 0ustar rizlarizlapackage Kephra::Document::Data; our $VERSION = '0.08'; use strict; use warnings; # global values my %values; # global doc values sub values { \%values } sub get_value { $values{$_[0]} if defined $values{$_[0]} } sub set_value { $values{$_[0]} = $_[1] if defined $_[1] } sub inc_value { $values{$_[0]}++ } sub dec_value { $values{$_[0]}-- } sub del_value { delete $values{$_[0]} if defined $values{$_[0]}} # values per dos my @attributes; # data per doc for all open docs my $current_attr; # data of current doc my $current_nr = 0; my $previous_nr = 0; # global attr functions sub _attributes { \@attributes } sub _values { \%values } sub _hash { $attributes[$_[0]] } sub _ep { my $nr = valid_or_current_doc_nr($_[0]); return if $nr < 0; my $ep = $attributes[$nr]{ep_ref}; $ep if Kephra::App::EditPanel::is($ep); } sub count { @attributes } sub last_nr { $#attributes } sub previous_nr { $previous_nr } sub current_nr { $current_nr } sub next_nr { my $inc = shift; return unless defined $inc and $inc; my $base = shift; $base = current_nr() unless defined $base; my $last_nr = last_nr(); my $nr = $base + $inc; $nr += $last_nr+1 if $nr < 0; $nr -= $last_nr+1 if $nr > $last_nr; return validate_doc_nr($nr); } sub all_nr { [0..last_nr()] } sub get_previous_nr { $previous_nr } sub set_previous_nr { $previous_nr = $_[0] if defined $_[0] } sub get_current_nr { $current_nr } sub set_current_nr { $current_nr = $_[0] if defined $_[0] and validate_doc_nr($_[0]) > -1; $current_attr = $attributes[$current_nr]; Kephra::App::EditPanel::_set_ref( _ep($current_nr) ); my $fconf = Kephra::File::_config(); $fconf->{current}{directory} = get_attribute('directory', $current_nr) if ref $fconf; } sub validate_doc_nr { my $nr = shift; return -1 unless defined $nr; return -1 unless $nr eq int $nr; $nr = exists $attributes[$nr] ? $nr : -1; } sub valid_or_current_doc_nr { my $nr = validate_doc_nr(shift); $nr == -1 ? current_nr() : $nr; } sub create_slot { my $nr = shift; $attributes[$_+1] = $attributes[$_] for reverse $nr .. last_nr(); $attributes[$nr] = {}; set_current_nr($current_nr+1) if $current_nr >= $nr; $previous_nr++ if $previous_nr >= $nr; } sub empty_slot { my $nr = shift; return if $nr < 0 or exists $attributes[$nr]; $attributes[$nr] = {} } sub delete_slot { my $nr = validate_doc_nr(shift); return if $nr < 0; splice @attributes, $nr, 1; } # generic attr data accessors on any value and any doc sub get_attribute { my $attr = shift; return unless defined $attr or $attr; my $nr = shift; $nr = defined $nr ? validate_doc_nr($nr) : current_nr(); return if $nr < 0; $attributes[ $nr ]{ $attr } if defined $attributes[ $nr ]{ $attr }; } sub set_attribute { my $attr = shift; my $value = shift; return unless defined $value; my $nr = shift; $nr = defined $nr ? validate_doc_nr($nr) : current_nr(); return if $nr < 0; $attributes[ $nr ]{ $attr } = $value; $value; } sub set_all_attributes { # all attr of one doc my $attr = shift; my $nr = validate_doc_nr(shift); return if $nr < 0 or ref $attr ne 'HASH'; $attributes[ $nr ] = $attr; } # shortcut accessors just for current doc and many values sub attributes { my $params = shift; my $nr = validate_doc_nr(shift); return if $nr < 0; my $attr = $attributes[$nr]; if (ref $params eq 'ARRAY') { my @result; push @result, $attr->{ $_ } for @$params; return \@result; } elsif (ref $params eq 'HASH') { $attr->{$_} = $params->{$_} for keys %$params; } } # shortcut accessors just for current doc and one value sub attr { if (defined $_[1]){ $current_attr->{$_[0]} = $_[1]} else { $current_attr->{$_[0]} } } # specific data (attribute) accessors sub first_name { get_attribute('firstname', $_[0]) } sub file_name { get_attribute('file_name', $_[0]) } sub file_path { defined $_[0] ? set_file_path($_[0]) : get_file_path() } sub get_file_path { get_attribute('file_path', $_[0]) } sub set_file_path { my ( $file_path, $doc_nr ) = @_; $doc_nr = valid_or_current_doc_nr($doc_nr); set_attribute('file_path', $file_path, $doc_nr); dissect_path( $file_path, $doc_nr ); } sub dissect_path { my ($file_path, $doc_nr) = @_; $doc_nr = validate_doc_nr($doc_nr); return if $doc_nr < 0; my $attr = $attributes[$doc_nr]; my ($volume, $directories, $file) = File::Spec->splitpath( $file_path ); $directories = $volume.$directories if $volume; $attr->{directory} = $directories; $attr->{file_name} = $file; if ( length($file) > 0 ) { my @filenameparts = split /\./, $file ; $attr->{ending} = pop @filenameparts if @filenameparts > 1; $attr->{firstname}= join '.', @filenameparts; } } sub all_file_pathes { my @pathes; push @pathes, $_->{file_path} for @attributes; return \@pathes; } sub all_file_names { my @names; $names[$_] = $_->{file_name} for @attributes; return \@names; } sub nr_from_file_path { my $given_path = shift; return -1 unless $given_path; for ( 0 .. $#attributes ) { if (defined $attributes[$_]{'file_path'} and $attributes[$_]{'file_path'} eq $given_path) { return $_; } } return -1; } sub file_already_open { 1 if nr_from_file_path(shift) > -1 } sub cursor_pos { $attributes[$current_nr]{cursor_pos} if $values{loaded}; } sub nr_from_ep { my $ep = shift; for (@{all_nr()}) { return $_ if $ep eq _ep($_); } return -1; } sub get_all_ep { my @ep; for (@{all_nr()}) { my $ep = _ep($_); push @ep, $ep if $ep; } \@ep; } # more complex operations sub set_missing_attributes_to_default { my ($nr, $file) = @_; $nr = validate_doc_nr($nr); return if $nr < 0; $file = get_file_path($nr) unless defined $file; my $default = Kephra::File::_config()->{defaultsettings}; } sub set_attributes_to_default { my ($nr, $file) = @_; $nr = validate_doc_nr($nr); return if $nr < 0; my $config = Kephra::File::_config()->{defaultsettings}; return unless ref $config eq 'HASH'; $file = get_file_path($nr) unless defined $file; my $attr = { 'edit_pos' => -1, 'ep_ref' => _ep($nr), 'file_path' => $file, }; my $default = (defined $file and -e $file) ? $config->{open} : $config->{new}; $attr->{$_} = $default->{$_} for qw(EOL codepage cursor_pos readonly syntaxmode tab_size tab_use); set_all_attributes($attr, $nr); dissect_path($file, $nr); set_current_nr($nr) if $nr == current_nr(); } sub evaluate_attributes { my $doc_nr = validate_doc_nr(shift); return if $doc_nr < 0; my $config = Kephra::File::_config(); my $attr = $attributes[$doc_nr]; my $ep = Kephra::App::EditPanel::_ref(); Kephra::EventTable::freeze('document.text.change'); Kephra::Document::Property::set( {$_ => $attr->{$_} } ) for qw(codepage tab_use tab_size EOL readonly syntaxmode); Kephra::EventTable::thaw('document.text.change'); # setting selection and caret position if ($attr->{selstart} and $attr->{selstart}) { $attr->{cursor_pos} < $attr->{selend} ? $ep->SetSelection( $attr->{selend},$attr->{selstart}) : $ep->SetSelection( $attr->{selstart},$attr->{selend}); } else { $ep->GotoPos( $attr->{cursor_pos} ) } if ($config->{open}{in_current_dir}){ $config->{current}{directory} = $attr->{directory} if $attr->{directory}; } else { $config->{current}{directory} = '' } Kephra::App::EditPanel::set_word_chars($ep); Kephra::App::EditPanel::Indicator::paint_bracelight($ep) if Kephra::App::EditPanel::Indicator::bracelight_visible(); Kephra::App::EditPanel::Margin::autosize_line_number(); Kephra::App::EditPanel::Fold::restore($doc_nr); Kephra::App::StatusBar::refresh_cursor(); Kephra::Edit::Marker::restore($doc_nr); Kephra::Edit::_let_caret_visible(); } sub update_attributes { # was named save_properties my $doc_nr = valid_or_current_doc_nr(shift); return if $doc_nr < 0; my $attr = _hash($doc_nr); my $ep = _ep($doc_nr); $attr->{cursor_pos}= $ep->GetCurrentPos; $attr->{selstart} = $ep->GetSelectionStart; $attr->{selend} = $ep->GetSelectionEnd; Kephra::App::EditPanel::Fold::store($doc_nr); Kephra::Edit::Marker::store($doc_nr); } 1; =head1 NAME Kephra::Document::Data - API for data assotiated with opened documents =head1 DESCRIPTION =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/Document/SyntaxMode.pm0000644000175000017500000000677611573645310022331 0ustar rizlarizlapackage Kephra::Document::SyntaxMode; our $VERSION = '0.06'; use strict; use warnings; my $current; sub _ID { $current = defined $_[0] ? $_[0] : $current } # syntaxstyles sub _get_auto{ &_get_by_fileending } sub _get_by_fileending { my $file_ending = Kephra::Document::Data::get_attribute('ending', shift ); chop $file_ending if $file_ending and (substr ($file_ending, -1) eq '~'); my $language_id; if ($file_ending) { $language_id = $Kephra::temp{file}{end2langmap} { Kephra::Config::_lc_utf($file_ending) }; } else { return "none" } if ( !$language_id or $language_id eq '') { return "none" } elsif ( $language_id eq 'text' ) { return "none" } return $language_id; } sub switch_auto { my $auto_style = _get_auto(); if (_ID() ne $auto_style) { set($auto_style) } else { set('none') } } sub reload { my $nr = Kephra::Document::Data::valid_or_current_doc_nr(shift); set( Kephra::Document::Data::get_attribute('syntaxmode', $nr), $nr ); } sub update { _ID(Kephra::Document::Data::attr('syntaxmode')) } sub set { my $style = shift; my $doc_nr = Kephra::Document::Data::valid_or_current_doc_nr(shift); return if $doc_nr == -1; my $ep = Kephra::Document::Data::_ep($doc_nr); my $color = \&Kephra::Config::color; $style = _get_by_fileending() if $style eq 'auto'; $style = 'none' unless $style; # do nothing when syntaxmode of next doc is the same #return if _ID() eq $style; # prevent clash between big lexer & indicator if ( $style =~ /asp|html|php|xml/ ) { $ep->SetStyleBits(7) } else { $ep->SetStyleBits(5) } # clear style infos $ep->StyleResetDefault; Kephra::App::EditPanel::load_font($ep); $ep->StyleClearAll; $ep->SetKeyWords( $_, '' ) for 0 .. 1; # load syntax style if ( $style eq 'none' ) { $ep->SetLexer(&Wx::wxSTC_LEX_NULL); } else { eval("require syntaxhighlighter::$style"); eval("syntaxhighlighter::$style" . '::load($ep)'); } # restore bracelight, bracebadlight indentguide colors my $indicator = Kephra::App::EditPanel::_config()->{indicator}; my $bracelight = $indicator->{bracelight}; if ( $bracelight->{visible} ) { $ep->StyleSetBold( &Wx::wxSTC_STYLE_BRACELIGHT, 1 ); $ep->StyleSetBold( &Wx::wxSTC_STYLE_BRACEBAD, 1 ); $ep->StyleSetForeground ( &Wx::wxSTC_STYLE_BRACELIGHT, &$color( $bracelight->{good_color} ) ); $ep->StyleSetBackground ( &Wx::wxSTC_STYLE_BRACELIGHT, &$color( $bracelight->{back_color} ) ); $ep->StyleSetForeground ( &Wx::wxSTC_STYLE_BRACEBAD, &$color( $bracelight->{bad_color} ) ); $ep->StyleSetBackground ( &Wx::wxSTC_STYLE_BRACEBAD, &$color( $bracelight->{back_color} ) ); $ep->StyleSetForeground (&Wx::wxSTC_STYLE_INDENTGUIDE,&$color($indicator->{indent_guide}{color})); } Kephra::Document::Data::set_attribute( 'syntaxmode', $style, $doc_nr); _ID($style); Kephra::EventTable::freeze('document.text.change'); $ep->Colourise( 0, $ep->GetTextLength ); # refresh editpanel painting, not needed normally Kephra::EventTable::thaw('document.text.change'); # cleanup Kephra::App::EditPanel::Margin::refresh_changeable_settings($ep); Kephra::App::StatusBar::style_info($style); return $style; } sub compile {} sub apply_color {} sub open_file { Kephra::Config::open_file( 'syntaxhighlighter', "$_[0].pm") } 1; =head1 NAME Kephra::Document::SyntaxMode - content language specific settings of a doc =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Document/Property.pm0000644000175000017500000001555311573645310022053 0ustar rizlarizlapackage Kephra::Document::Property; our $VERSION = '0.04'; use strict; use warnings; # some internal shortcut helper sub _ep_ref { Kephra::Document::Data::_ep($_[0]) } sub _doc_nr { Kephra::Document::Data::valid_or_current_doc_nr($_[0]) } sub _is_current { $_[0] == Kephra::Document::Data::current_nr() } sub _get_attr { Kephra::Document::Data::get_attribute(@_) } sub _set_attr { Kephra::Document::Data::set_attribute(@_) } # # general API for single and multiple values (getter/setter) # sub get { my $property = shift; my $doc_nr = _doc_nr(shift); return if $doc_nr < 0; if (not ref $property) { _get_attr($property, $doc_nr) } elsif (ref $property eq 'ARRAY') { my @result; push @result, _get_attr($_, $doc_nr) for @$property; \@result; } } sub _set{ my ($key, $v) = @_; return unless defined $v; return set_codepage($v) if $key eq 'codepage'; return set_EOL_mode($v) if $key eq 'EOL'; return set_readonly($v) if $key eq 'readonly'; return set_syntaxmode($v)if $key eq 'syntaxmode'; return set_tab_size($v) if $key eq 'tab_size'; return set_tab_mode($v) if $key eq 'tab_use'; } sub set { if (not ref $_[0] and defined $_[1]){_set(@_)} elsif ( ref $_[0] eq 'HASH') {_set($_, $_[0]->{$_}) for keys %{$_[0]}} } sub get_file { _get_attr('file_path') } sub set_file { my ($file, $nr) = @_; $nr = _doc_nr($nr); return if $nr < 0; Kephra::Document::Data::set_file_path($file, $nr); Kephra::App::TabBar::refresh_label($nr); Kephra::App::Window::refresh_title() if _is_current($nr); } # # property specific API # # # syntaxmode sub get_syntaxmode { _get_attr('syntaxmode') } sub set_syntaxmode { Kephra::Document::SyntaxMode::set(@_) } # # sub get_codepage { _get_attr('codepage', $_[0]) } sub set_codepage { my ($new_value, $doc_nr) = @_; $doc_nr = _doc_nr($doc_nr); return if $doc_nr < 0 or not defined $new_value; my $old_value = get_codepage($doc_nr); my $ep = _ep_ref($doc_nr); if ($old_value eq 'ascii' and $new_value eq 'utf8'){ #unless (Encode::is_utf8($ep->GetText())) { Kephra::Document::Data::update_attributes($doc_nr); eval { #Encode::encode('ascii'); $ep->SetText( Encode::decode('utf8', $ep->GetText()) ); }; #print "$@\n"; Kephra::Document::Data::evaluate_attributes($doc_nr); #} #print Encode::is_utf8($ep->GetText())."\n"; } elsif ($old_value eq 'utf8' and $new_value eq 'ascii') { Kephra::Document::Data::update_attributes($doc_nr); $ep->SetText( Encode::encode('utf8', $ep->GetText()) ); Kephra::Document::Data::evaluate_attributes($doc_nr); } #print "ask auto $mode\n"; #$ep->SetCodePage( &Wx::wxSTC_CP_UTF8 ); _set_attr('codepage', $new_value, $doc_nr); Kephra::App::StatusBar::codepage_info($new_value); } sub switch_codepage { set_codepage( get_codepage( _doc_nr() ) eq 'utf8' ? 'ascii' : 'utf8' ); } # # tab size sub get_tab_size { _get_attr('tab_size', $_[0]) } sub set_tab_size { my ($size, $nr) = @_; $nr = _doc_nr($nr); return if not $size or $nr < 0; my $ep = _ep_ref(); $ep->SetTabWidth($size); $ep->SetIndent($size); $ep->SetHighlightGuide($size); _set_attr('tab_size', $size, $nr); } # # tab use sub get_tab_mode { _get_attr('tab_use', $_[0]) } sub set_tab_mode { my $mode = shift; my $nr = _doc_nr(shift); return if $nr < 0; my $ep = _ep_ref(); if ($mode eq 'auto') { if ($ep->GetTextLength){ my $line; for my $lnr (0 .. $ep->GetLineCount()-1){ $line = $ep->GetLine($lnr); if ($line =~ /^( |\t)/) { $mode = $1 eq ' ' ? 0 : 1; last; } } } else { $mode = Kephra::File::_config()->{defaultsettings}{new}{tab_use}; } } $ep->SetUseTabs($mode); _set_attr('tab_use', $mode, $nr); Kephra::App::StatusBar::tab_info() if _is_current($nr); } sub set_tabs_hard { set_tab_mode(1) } sub set_tabs_soft { set_tab_mode(0) } sub switch_tab_mode{ get_tab_mode() ? set_tab_mode(0) : set_tab_mode(1) } # # EOL sub EOL_length { _get_attr('EOL_length') } sub get_EOL_mode { _get_attr('EOL') } sub set_EOL_mode { my $mode = shift; return unless defined $mode; if ($mode eq 'OS') { if (&Wx::wxMSW) {$mode = 'cr+lf'} elsif (&Wx::wxMAC) {$mode = 'cr' } else {$mode = 'lf' } } $mode = detect_EOL_mode() if $mode eq 'auto'; my $ep = _ep_ref(); my $eoll = 1; if ( $mode eq 'cr+lf'or $mode eq 'win') {$ep->SetEOLMode(&Wx::wxSTC_EOL_CRLF); $eoll = 2; } elsif ( $mode eq 'cr'or $mode eq 'mac') {$ep->SetEOLMode(&Wx::wxSTC_EOL_CR) } else {$ep->SetEOLMode(&Wx::wxSTC_EOL_LF) } _set_attr('EOL', $mode); _set_attr('EOL_length', $eoll); Kephra::App::StatusBar::EOL_info($mode); } sub convert_EOL { my $mode = shift || get_EOL_mode(); my $doc_nr = _doc_nr(shift); my $ep = _ep_ref($doc_nr); $mode = Kephra::File::_config()->{defaultsettings}{EOL_open} unless $mode; $mode = detect_EOL_mode() if $mode eq 'auto'; Kephra::EventTable::freeze_group('edit'); if ($mode eq 'cr+lf' or $mode eq 'win') {$ep->ConvertEOLs(&Wx::wxSTC_EOL_CRLF)} elsif ($mode eq 'cr' or $mode eq 'mac' ) {$ep->ConvertEOLs(&Wx::wxSTC_EOL_CR)} else {$ep->ConvertEOLs(&Wx::wxSTC_EOL_LF)} Kephra::EventTable::thaw_group('edit'); set_EOL_mode($mode); } sub detect_EOL_mode { my $ep = _ep_ref(); my $end_pos = $ep->PositionFromLine(1); my $begin_pos = $end_pos - 3; $begin_pos = 0 if $begin_pos < 0; my $text = $ep->GetTextRange( $begin_pos, $end_pos ); if ( length($text) < 1 ) { return 'auto' } else { #print "win \n" if $text =~ /\r\n/; #return 'cr+lf' if $text =~ /\r\n/; #return 'cr' if $text =~ /\r/; #return 'lf' if $text =~ /\n/; return 'auto'; } } # # write protection sub get_readonly { _get_attr('readonly') } sub set_readonly { my $status = shift; my $ep = _ep_ref(); if (not $status or $status eq 'off' ) { $ep->SetReadOnly(0); $status = 'off'; } elsif ( $status eq 'on' or $status eq '1' ) { $ep->SetReadOnly(1); $status = 'on'; } elsif ( $status eq 'protect' or $status eq '2' ) { my $file = Kephra::Document::Data::get_file_path(); if ( $file and not -w $file ) {$ep->SetReadOnly(1)} else {$ep->SetReadOnly(0)} $status = 'protect'; } _set_attr('readonly', $status); $status = $ep->GetReadOnly ? 1 : 0; _set_attr('editable', $status); Kephra::App::TabBar::refresh_current_label() if Kephra::App::TabBar::_config()->{info_symbol}; } sub set_readonly_on { set_readonly('on') } sub set_readonly_off { set_readonly('off') } sub set_readonly_protect { set_readonly('protect') } 1; __END__ =head1 NAME Kephra::Document::Property - external API for document handling =head1 DESCRIPTION =over 4 =item syntaxmode =item codepage =item readonly =item tab size and usage =item end of line marker =back kephra-0.4.3.32+dfsg.orig/lib/Kephra/Document/Change.pm0000644000175000017500000000252411573645310021406 0ustar rizlarizlapackage Kephra::Document::Change; our $VERSION = '0.07'; use strict; use warnings; # # changing the current document # # set document with a given nr as current document sub to_nr { to_number(@_) } sub to_number { my $new_doc = Kephra::Document::Data::validate_doc_nr(shift); my $old_doc = Kephra::Document::Data::current_nr(); if ($new_doc != $old_doc and $new_doc > -1) { Kephra::Document::Data::update_attributes($old_doc); Kephra::File::save_current() if Kephra::File::_config()->{save}{change_doc}; Kephra::Document::Data::set_current_nr($new_doc); Kephra::Document::Data::set_previous_nr($old_doc); Kephra::App::Window::refresh_title(); Kephra::App::TabBar::raise_tab_by_doc_nr($new_doc); Kephra::App::StatusBar::refresh_all_cells(); Kephra::EventTable::trigger_group( 'doc_change' ); Kephra::App::EditPanel::gets_focus(); return 1; } else { #print "not changed\n" } return 0; } #sub to_path{} # planing # change to the previous used document sub switch_back { to_number( Kephra::Document::Data::previous_nr() ) } # change to the previous used document sub tab_left { Kephra::App::TabBar::raise_tab_left() } sub tab_right { Kephra::App::TabBar::raise_tab_right() } sub move_left { Kephra::App::TabBar::rotate_tab_left() } sub move_right{ Kephra::App::TabBar::rotate_tab_right()} 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/API.pm0000644000175000017500000000120511573645310017047 0ustar rizlarizlapackage Kephra::API; our $VERSION = '0.02'; use strict; use warnings; # passive part, just getter sub settings { Kephra::Config::Global::settings() } sub localisation { Kephra::Config::Localisation::strings() } sub commands { Kephra::CommandList::data() } sub events { Kephra::EventTable::_table() } sub menu { Kephra::Menu::_all() } sub toolbar { Kephra::ToolBar::_all() } # active part sub run_cmd { my @cmd; push @cmd, split /\s*,\s*/, $_ for @_; Kephra::CommandList::run_cmd_by_id($_) for @cmd; } 1; =head1 NAME Kephra::API - Interface between Modules and Plugins =head1 DESCRIPTION =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/Menu.pm0000644000175000017500000002554211573645310017354 0ustar rizlarizlapackage Kephra::Menu; our $VERSION = '0.18'; use strict; use warnings; my %menu; sub _all { \%menu } sub _ref { if ( is($_[1]) ) { $menu{$_[0]}{ref} = $_[1] } elsif ( exists $menu{$_[0]}{ref} ) { $menu{$_[0]}{ref} } } sub _data { $menu{$_[0]} if stored($_[0]) } sub is { 1 if ref $_[0] eq 'Wx::Menu' } sub stored { 1 if ref $menu{$_[0]} eq 'HASH'} sub set_absolete { $menu{$_[0]}{absolete} = 1 } sub not_absolete { $menu{$_[0]}{absolete} = 0 } sub is_absolete { $menu{$_[0]}{absolete} } sub set_update { $menu{$_[0]}{update} = $_[1] if ref $_[1] eq 'CODE' } sub get_update { $menu{$_[0]}{update} } sub no_update { delete $menu{$_[0]}{update} if stored($_[0]) } sub add_onopen_check { return until ref $_[2] eq 'CODE'; $menu{ $_[0] }{onopen}{ $_[1] } = $_[2]; } sub del_onopen_check { return until $_[1]; delete $menu{$_[0]}{onopen}{$_[1]} if exists $menu{$_[0]}{onopen}{$_[1]}; } sub ready { # make menu ready for display my $id = shift; if ( stored($id) ){ my $menu = _data($id); if ($menu->{absolete} and $menu->{update}) { $menu->{absolete} = 0 if $menu->{update}() } if (ref $menu->{onopen} eq 'HASH') { $_->() for values %{$menu->{onopen}} } _ref($id); } } sub create_dynamic { # create on runtime changeable menus my ( $menu_id, $menu_name ) = @_ ; if ($menu_name eq '&insert_templates') { set_absolete($menu_id); set_update($menu_id, sub { my $cfg = Kephra::API::settings()->{file}{templates}; my $file = Kephra::Config::filepath($cfg->{directory}, $cfg->{file}); my $tmp = Kephra::Config::File::load( $file ); my @menu_data; if (exists $tmp->{template}){ $tmp = Kephra::Config::Tree::_convert_node_2_AoH(\$tmp->{template}); my $untitled = Kephra::Config::Localisation::strings()->{app}{general}{untitled}; my $filepath = Kephra::Document::Data::get_file_path() || "<$untitled>"; my $filename = Kephra::Document::Data::file_name() || "<$untitled>"; my $firstname = Kephra::Document::Data::first_name() || "<$untitled>"; for my $template ( @{$tmp} ) { my %item; $item{type} = 'item'; $item{label}= $template->{name}; $item{call} = sub { my $content = $template->{content}; $content =~ s/\[\$\$firstname\]/$firstname/g; $content =~ s/\[\$\$filename\]/$filename/g; $content =~ s/\[\$\$filepath\]/$filepath/g; Kephra::Edit::insert_text($content); }; $item{help} = $template->{description}; push @menu_data, \%item; eval_data($menu_id, \@menu_data); } return 1; } }); } elsif ($menu_name eq '&file_history'){ set_absolete($menu_id); set_update($menu_id, sub { my @menu_data = @{assemble_data_from_def ( ['item file-session-history-open-all', undef] )}; my $history = Kephra::File::History::get(); if (ref $history eq 'ARRAY') { my $nr = 0; for ( @$history ) { my $file = $_->{file_path}; push @menu_data, { type => 'item', label => ( File::Spec->splitpath( $file ) )[2], help => $file, call => eval 'sub {Kephra::File::History::open( '.$nr++.' )}', }; } } eval_data($menu_id, \@menu_data); return Kephra::File::History::had_init() ? 1 : 0; 1; # it was successful }); Kephra::EventTable::add_call ( 'document.list', 'menu_'.$menu_id, sub { set_absolete( $menu_id ) if Kephra::File::History::update(); } ); } elsif ($menu_name eq '&document_change') { set_update( $menu_id, sub { return unless exists $Kephra::temp{document}{buffer}; my $filenames = Kephra::Document::Data::all_file_names(); my $pathes = Kephra::Document::Data::all_file_pathes(); my $untitled = Kephra::Config::Localisation::strings()->{app}{general}{untitled}; my $space = ' '; my @menu_data; for my $nr (0 .. @$filenames-1){ my $item = \%{$menu_data[$nr]}; $space = '' if $nr == 9; $item->{type} = 'radioitem'; $item->{label} = $filenames->[$nr] ? $space.($nr+1)." - $filenames->[$nr] \t - $pathes->[$nr]" : $space.($nr+1)." - <$untitled> \t -"; $item->{call} = eval 'sub {Kephra::Document::Change::to_nr('.$nr.')}'; } }); #add_onopen_check( $menu_id, 'select', sub { # my $menu = _ref($menu_id); # $menu->FindItemByPosition # ( Kephra::Document::Data::current_nr() )->Check(1) if $menu; #}); #Kephra::EventTable::add_call ( # 'document.list', 'menu_'.$menu_id, sub { set_absolete($menu_id) } #); } } sub create_static { # create solid, not on runtime changeable menus my ($menu_id, $menu_def) = @_; return unless ref $menu_def eq 'ARRAY'; not_absolete($menu_id); eval_data($menu_id, assemble_data_from_def($menu_def)); } sub create_menubar { #my $menubar = Wx::MenuBar->new(); #my $m18n = Kephra::Config::Localisation::strings()->{app}{menu}; #my ($pos, $menu_name); #for my $menu_def ( @$menubar_def ){ #for my $menu_id (keys %$menu_def){ # removing the menu command if there is one #$pos = index $menu_id, ' '; #if ($pos > -1){ #if ('menu' eq substr $menu_id, 0, $pos ){ #$menu_name = substr ($menu_id, $pos+1); # ignoring menu structure when command other that menu or blank #} else { next } #} else { #$menu_name = $menu_id; #} #$menubar->Append( #Kephra::Menu::create_static( $menu_name, $menu_def->{$menu_id}), #$m18n->{label}{$menu_name} #); #} #} } # create menu data structures (MDS) from menu skeleton definitions (command list) sub assemble_data_from_def { my $menu_def = shift; return unless ref $menu_def eq 'ARRAY'; my $menu_l18n = Kephra::Config::Localisation::strings()->{app}{menu}; my ($cmd_name, $cmd_data, $type_name, $pos, $sub_id); my @mds = (); # menu data structure for my $item_def (@$menu_def){ my %item; # creating separator if (not defined $item_def){ $item{type} = '' # sorting commented lines out } elsif (substr($item_def, -1) eq '#'){ next; # creating separator } elsif ($item_def eq '' or $item_def eq 'separator') { $item{type} = '' # eval a sublist } elsif (ref $item_def eq 'HASH'){ $sub_id = $_ for keys %$item_def; $pos = index $sub_id, ' '; # make submenu if keyname is without command if ($pos == -1){ $item{type} = 'menu'; $item{id} = $sub_id; $item{label} = $menu_l18n->{label}{$sub_id}; $item{help} = $menu_l18n->{help}{$sub_id} || ''; $item{data} = assemble_data_from_def($item_def->{$sub_id}); } else { my @id_parts = split / /, $sub_id; $item{type} = $id_parts[0]; # make submenu when finding the menu command if ($item{type} eq 'menu'){ $item{id} = $id_parts[1]; $item{label}= $menu_l18n->{label}{$id_parts[1]}; $item{help} = $menu_l18n->{help}{$id_parts[1]} || ''; $item{data} = assemble_data_from_def($item_def->{$sub_id}); $item{icon} = $id_parts[2] if $id_parts[2]; } } # menu items } else { $pos = index $item_def, ' '; next if $pos == -1; $item{type} = substr $item_def, 0, $pos; $cmd_name = substr $item_def, $pos+1; if ($item{type} eq 'menu'){ $item{id} = $cmd_name; $item{label} = $menu_l18n->{label}{$cmd_name}; } else { $cmd_data = Kephra::CommandList::get_cmd_properties( $cmd_name ); # skipping when command call is missing next unless ref $cmd_data and exists $cmd_data->{call}; for ('call','enable','state','label','help','icon'){ $item{$_} = $cmd_data->{$_} if $cmd_data->{$_}; } $item{label} .= "\t " . $cmd_data->{key} . "`" if $cmd_data->{key}; } } push @mds, \%item; } return \@mds; } sub eval_data { # eval menu data structures (MDS) to wxMenus my $menu_id = shift; return unless defined $menu_id; #emty the old or create new menu under the given ID my $menu = _ref($menu_id); if (defined $menu and $menu) { $menu->Delete( $_ ) for $menu->GetMenuItems } else { $menu = Wx::Menu->new() } my $menu_data = shift; unless (ref $menu_data eq 'ARRAY') { _ref($menu_id, $menu); return $menu; } my $win = Kephra::App::Window::_ref(); my $kind; my $item_id = defined $menu{$menu_id}{item_id} ? $menu{$menu_id}{item_id} : $Kephra::app{GUI}{masterID}++ * 100; $menu{$menu_id}{item_id} = $item_id; for my $item_data (@$menu_data){ if (not $item_data->{type} or $item_data->{type} eq 'separator'){ $menu->AppendSeparator; } elsif ($item_data->{type} eq 'menu'){ my $submenu = ref $item_data->{data} eq 'ARRAY' ? eval_data( $item_data->{id}, $item_data->{data} ) : ready( $item_data->{id} ); $item_data->{help} = '' unless defined $item_data->{help}; my @params = ( $menu, $item_id++, $item_data->{label},$item_data->{help}, &Wx::wxITEM_NORMAL ); push @params, $submenu if is ($submenu); my $menu_item = Wx::MenuItem->new( @params ); if (defined $item_data->{icon}) { my $bmp = Kephra::CommandList::get_cmd_property ( $item_data->{icon}, 'icon' ); $menu_item->SetBitmap( $bmp ) if ref $bmp eq 'Wx::Bitmap' and not Wx::wxMAC(); } #Wx::Event::EVT_MENU_HIGHLIGHT($win, $item_id-1, sub { # Kephra::App::StatusBar::info_msg( $item_data->{help} ) #}); $menu->Append($menu_item); } else { # create normal items if ($item_data->{type} eq 'checkitem'){$kind = &Wx::wxITEM_CHECK} elsif ($item_data->{type} eq 'radioitem'){$kind = &Wx::wxITEM_RADIO} elsif ($item_data->{type} eq 'item') {$kind = &Wx::wxITEM_NORMAL} else { next; } my $menu_item = Wx::MenuItem->new ($menu, $item_id, $item_data->{label}||'', '', $kind); if ($item_data->{type} eq 'item') { if (ref $item_data->{icon} eq 'Wx::Bitmap') { $menu_item->SetBitmap( $item_data->{icon} ) unless Wx::wxMAC(); } else { # insert fake empty icons # $menu_item->SetBitmap($Kephra::temp{icon}{empty}) } } add_onopen_check( $menu_id, 'enable_'.$item_id, sub { $menu_item->Enable( $item_data->{enable}() ); } ) if ref $item_data->{enable} eq 'CODE'; add_onopen_check( $menu_id, 'check_'.$item_id, sub { $menu_item->Check( $item_data->{state}() ) } ) if ref $item_data->{state} eq 'CODE'; Wx::Event::EVT_MENU ($win, $menu_item, $item_data->{call} ); Wx::Event::EVT_MENU_HIGHLIGHT($win, $menu_item, sub { Kephra::App::StatusBar::info_msg( $item_data->{help} ) }) if $item_data->{help} ; $menu->Append( $menu_item ); $item_id++; } 1; # sucess } Kephra::EventTable::add_call('menu.open', 'menu_'.$menu, sub {ready($menu_id)}); _ref($menu_id, $menu); return $menu; } sub destroy { my $menu_ID = shift; my $menu = _ref( $menu_ID ); return unless $menu; $menu->Destroy; Kephra::EventTable::del_own_subscriptions( $menu_ID ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Macro.pm0000644000175000017500000000017211573645310017501 0ustar rizlarizlapackage Kephra::Macro; our $VERSION = '0.00'; use strict; use warnings; sub create_from_cmd_list { return; } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog.pm0000644000175000017500000000415111602234112017623 0ustar rizlarizlapackage Kephra::Dialog; our $VERSION = '0.20'; use strict; use warnings; sub _set_icon { my ($d, $cmd_id) = @_; } sub _win { Kephra::App::Window::_ref() } # standard dialogs sub msg_box { Wx::MessageBox( @_[0,1], &Wx::wxOK | &Wx::wxSTAY_ON_TOP, _win() ); } sub info_box { Wx::MessageBox (@_[0,1], &Wx::wxOK | &Wx::wxICON_INFORMATION | &Wx::wxSTAY_ON_TOP, _win()); } sub warning_box { Wx::MessageBox ( @_[0,1], &Wx::wxOK | &Wx::wxICON_WARNING | &Wx::wxSTAY_ON_TOP, _win() ); } sub get_confirm_2 { Wx::MessageBox (@_[0,1], &Wx::wxYES_NO | &Wx::wxICON_QUESTION | &Wx::wxSTAY_ON_TOP, _win()); } sub get_confirm_3 { Wx::MessageBox ( @_[0,1], &Wx::wxYES_NO | &Wx::wxCANCEL | &Wx::wxICON_QUESTION, _win() ); } sub get_file_open { Wx::FileSelector( @_[0,1], '', '', $_[2], &Wx::wxFD_OPEN, _win()); } sub get_files_open { my $dialog = Wx::FileDialog->new( _win(), @_[0,1], '', $_[2], &Wx::wxFD_OPEN | &Wx::wxFD_MULTIPLE, [-1,-1] ); if ($dialog->ShowModal != &Wx::wxID_CANCEL) { my @files = $dialog->GetPaths; return \@files; } } sub get_file_save { Wx::FileSelector( @_[0,1], '', '', $_[2], &Wx::wxFD_SAVE, _win()) } sub get_dir { Wx::DirSelector ( @_[0,1] ,0, [-1,-1], _win()) } sub get_font { Wx::GetFontFromUser ( _win(), $_[0]) } sub get_text { Wx::GetTextFromUser ( $_[0], $_[1], "", _win()) } sub get_number{Wx::GetNumberFromUser( $_[0], '', $_[1],$_[2], 0, 100000, _win())} # own dialogs sub find { require Kephra::Dialog::Search; &Kephra::Dialog::Search::find; } sub replace { require Kephra::Dialog::Search; &Kephra::Dialog::Search::replace; } sub choose_color { require Kephra::Dialog::Color; Kephra::Dialog::Color::choose_color(); } sub config { require Kephra::Dialog::Config; &Kephra::Dialog::Config::main; } sub info { require Kephra::Dialog::Info; &Kephra::Dialog::Info::combined; } sub notify_file_changed { require Kephra::Dialog::Notify; &Kephra::Dialog::Notify::file_changed; } sub notify_file_deleted { require Kephra::Dialog::Notify; &Kephra::Dialog::Notify::file_deleted; } sub save_on_exit { require Kephra::Dialog::Exit; &Kephra::Dialog::Exit::save_on_exit; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/0000755000175000017500000000000011633700043016757 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Search/0000755000175000017500000000000011633700043020164 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Search/InputTarget.pm0000644000175000017500000000121111573645310022773 0ustar rizlarizlapackage Kephra::Edit::Search::InputTarget; our $VERSION = '0.04'; use strict; use base qw(Wx::TextDropTarget); use Wx; use Wx::DND; sub new { my $class = shift; my $target = shift; my $kind = shift; my $self = $class->SUPER::new(@_); $self->{target} = $target if substr(ref $target, 0, 12) eq 'Wx::ComboBox'; $self->{kind} = $kind; return $self; } sub OnDropText { my ( $self, $x, $y, $text ) = @_; $self->{target}->SetValue( $text ) if $self->{target}; $self->{kind} eq 'replace' ? Kephra::Edit::Search::set_replace_item($text) : Kephra::Edit::Search::set_find_item($text); 0; #don't skip event } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Comment.pm0000644000175000017500000001531111573645310020730 0ustar rizlarizlapackage Kephra::Edit::Comment; our $VERSION = '0.08'; use strict; use warnings; # Comment sub add_block { my $csymbol = shift; my $symlength = length $csymbol; my $ep = &Kephra::App::EditPanel::_ref; my ($a, $b) = $ep->GetSelection; my ($al, $bl) = ($ep->LineFromPosition( $a ), $ep->LineFromPosition( $b )); my $lip; my $lipa = $ep->GetLineIndentPosition($al); my $lipb = $ep->GetLineIndentPosition($bl); $a += $symlength if $ep->GetTextRange($lipa, $lipa + $symlength) ne $csymbol and $a > $lipa; $b -= $symlength if $ep->GetTextRange($lipb, $lipb + $symlength) ne $csymbol and $b <= $lipb; $ep->BeginUndoAction; for ( $al .. $bl ) { $lip = $ep->GetLineIndentPosition($_); $ep->InsertText($lip, $csymbol), $b += $symlength if $ep->GetTextRange($lip, $lip + $symlength) ne $csymbol; } $ep->SetSelection($a, $b); $ep->EndUndoAction; } sub remove_block { my $csymbol = shift; my $symlength = length $csymbol; my $ep = &Kephra::App::EditPanel::_ref; my ($a, $b) = $ep->GetSelection; my ($al, $bl) = ($ep->LineFromPosition( $a ), $ep->LineFromPosition( $b )); my $lip; my $lipa = $ep->GetLineIndentPosition($al); my $rema = $ep->GetTextRange($lipa, $lipa + $symlength) eq $csymbol; my $lipb = $ep->GetLineIndentPosition($bl); my $remb = $ep->GetTextRange($lipb, $lipb + $symlength) eq $csymbol; $ep->BeginUndoAction; for ( $al .. $bl ) { $lip = $ep->GetLineIndentPosition($_); $ep->SetTargetStart($lip); $ep->SetTargetEnd( $lip + $symlength ); $ep->ReplaceTarget(''), $b -= $symlength if $ep->SearchInTarget($csymbol) > -1; } $a -= $symlength if $rema and $a > $lipa; $b += $symlength if $remb and $b <= $lipb; $ep->SetSelection($a, $b); $ep->EndUndoAction; } sub toggle_block { my $csymbol = shift; my $symlength = length $csymbol; my $ep = &Kephra::App::EditPanel::_ref; my $lip; $ep->BeginUndoAction; my ($a, $b) = $ep->GetSelection; my ($al, $bl) = ($ep->LineFromPosition( $a ), $ep->LineFromPosition( $b )); $lip = $ep->GetLineIndentPosition($al); my $add = $ep->GetTextRange($lip, $lip + $symlength) ne $csymbol; my $found; $ep->BeginUndoAction; for ($al .. $bl) { $lip = $ep->GetLineIndentPosition($_); $ep->SetTargetStart($lip); $ep->SetTargetEnd( $lip + $symlength ); $found = $ep->SearchInTarget($csymbol) != -1; if ($add){ $ep->InsertText($lip, $csymbol), $b += $symlength if not $found } else { $ep->ReplaceTarget('') , $b -= $symlength if $found } } $a = $add ? $a + $symlength : $a - $symlength; $a = $ep->PositionFromLine( $al ) if $a < $ep->PositionFromLine( $al ); $b = $ep->PositionFromLine( $bl ) if $b < $ep->PositionFromLine( $bl ); $ep->SetSelection($a, $b); $ep->EndUndoAction; } sub format_block { my $csymbol = shift; my $ep = Kephra::App::EditPanel::_ref(); my $lp; my $a = $ep->LineFromPosition( $ep->GetSelectionStart ); my $b = $ep->LineFromPosition( $ep->GetSelectionEnd ); $ep->BeginUndoAction; for ($b .. $a) { $lp = $ep->PositionFromLine($_); } $ep->EndUndoAction; } sub add_stream { my $ep = Kephra::App::EditPanel::_ref(); my ( $openbrace, $closebrace ) = @_; my ( $startpos, $endpos ) = $ep->GetSelection; my ( $commentpos, $firstopos, $lastopos, $firstcpos, $lastcpos ) = ( -1, $endpos, -1, $endpos, -1 ); $ep->BeginUndoAction; $ep->SetTargetStart($startpos); $ep->SetTargetEnd($endpos); while ( ( $commentpos = $ep->SearchInTarget($openbrace) ) > -1 ) { $firstopos = $commentpos if $firstopos > $commentpos; $lastopos = $commentpos; $ep->SetSelectionStart($commentpos); $ep->SetSelectionEnd( $commentpos + length($openbrace) ); $ep->ReplaceSelection(""); $endpos -= length($openbrace); $ep->SetTargetStart($commentpos); $ep->SetTargetEnd($endpos); } $ep->SetTargetStart($startpos); $ep->SetTargetEnd($endpos); while ( ( $commentpos = $ep->SearchInTarget($closebrace) ) > -1 ) { $firstcpos = $commentpos if ( $firstcpos > $commentpos ); $lastcpos = $commentpos; $ep->SetSelectionStart($commentpos); $ep->SetSelectionEnd( $commentpos + length($closebrace) ); $ep->ReplaceSelection(""); $endpos -= length($closebrace); $ep->SetTargetStart($commentpos); $ep->SetTargetEnd($endpos); } $ep->InsertText( $endpos, $closebrace ) if $lastcpos == -1; $ep->InsertText( $startpos, $openbrace ) if $lastopos == -1; $ep->InsertText( $startpos, $openbrace ) if $firstopos < $firstcpos; $ep->InsertText( $endpos, $closebrace ) if $lastopos < $lastcpos; #$ep->InsertText($endpos, $closebrace); #$ep->InsertText($startpos, $openbrace); $ep->EndUndoAction; } sub remove_stream { #o=openposition c=closeposition my ( $openbrace, $closebrace ) = @_; my $ep = Kephra::App::EditPanel::_ref(); my ( $startpos, $endpos ) = $ep->GetSelection(); my $firstopos = my $firstcpos = $endpos; my $commentpos = my $lastopos = my $lastcpos = -1; if ( $startpos < $endpos ) { $ep->BeginUndoAction(); $ep->SetTargetStart($startpos); $ep->SetTargetEnd($endpos); while ( ( $commentpos = $ep->SearchInTarget($openbrace) ) > -1 ) { $firstopos = $commentpos if ( $firstopos > $commentpos ); $lastopos = $commentpos; $ep->SetSelectionStart($commentpos); $ep->SetSelectionEnd( $commentpos + length($openbrace) ); $ep->ReplaceSelection(""); $endpos -= length($openbrace); $ep->SetTargetStart($commentpos); $ep->SetTargetEnd($endpos); } $ep->SetTargetStart($startpos); $ep->SetTargetEnd($endpos); while ( ($commentpos = $ep->SearchInTarget($closebrace) ) > -1 ) { $firstcpos = $commentpos if ( $firstcpos > $commentpos ); $lastcpos = $commentpos; $ep->SetSelectionStart($commentpos); $ep->SetSelectionEnd( $commentpos + length($closebrace) ); $ep->ReplaceSelection(""); $endpos -= length($closebrace); $ep->SetTargetStart($commentpos); $ep->SetTargetEnd($endpos); } if ( $firstopos > $firstcpos ) { $ep->InsertText( $startpos, $closebrace ); } if ( $lastopos > $lastcpos ) { $ep->InsertText( $endpos, $openbrace ); } if ( ( $lastopos == -1 ) && ( $lastcpos == -1 ) ) { $ep->InsertText( $startpos, $closebrace ); $ep->InsertText( $endpos + length($closebrace), $openbrace ); } $ep->EndUndoAction(); } } sub add_script { add_block ('#') } sub sub_script { remove_block('#') } sub toggle_script { toggle_block('#') } sub format_script { format_block('#') } sub sub_xml { remove_stream( '' ) } sub add_xml { add_stream ( '' ) } sub add_c { add_stream ( '/*', '*/' ) } sub sub_c { remove_stream( '/*', '*/' ) } 1; __END__ =head1 NAME Kephra::App::Comment - add and remove comments in your code text =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/History.pm0000644000175000017500000000161411573645310020770 0ustar rizlarizlapackage Kephra::Edit::History; our $VERSION = '0.03'; =head1 NAME Kephra::App::History - undo, redo and so on =head1 DESCRIPTION =cut use strict; use warnings; # undo, redo etc. sub _ep_ref { Kephra::App::EditPanel::_ref() } sub _config { Kephra::API::settings()->{editpanel}{history} } sub undo { _ep_ref()->Undo } sub redo { _ep_ref()->Redo } sub undo_several { my $ep = _ep_ref(); $ep->Undo for 1 .. _config->{fast_undo_steps}; } sub redo_several { my $ep = _ep_ref(); $ep->Redo for 1 .. _config->{fast_undo_steps}; } sub undo_begin { my $ep = _ep_ref(); $ep->Undo while $ep->CanUndo; } sub redo_end { my $ep = _ep_ref(); $ep->Redo while $ep->CanRedo; } sub clear_history { _ep_ref()->EmptyUndoBuffer; Kephra::EventTable::trigger('document.savepoint'); } sub can_undo { _ep_ref()->CanUndo } sub can_redo { _ep_ref()->CanRedo } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Select.pm0000644000175000017500000001175311573645310020553 0ustar rizlarizlapackage Kephra::Edit::Select; our $VERSION = '0.08'; use strict; use warnings; sub _ep_ref { Kephra::App::EditPanel::is( shift ) || Kephra::App::EditPanel::_ref() } sub _line_empty { my $line = shift; my $ep = _ep_ref( shift ); $line = $ep->GetCurrentLine() unless defined $line; return $ep->PositionFromLine($line) == $ep->GetLineEndPosition($line); } # sub get_block_start { my $pos = shift; my $ep = _ep_ref( shift ); $pos = $ep->GetCurrentPos unless defined $pos; my $line = $ep->LineFromPosition($pos); return $pos if _line_empty($line); return $pos if _line_empty($line-1) and $pos == $ep->PositionFromLine($line); my $cpos = $ep->GetCurrentPos; $ep->SetCurrentPos( $pos ); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_PARAUP); $pos = $ep->GetCurrentPos; $ep->SetCurrentPos( $cpos ); return $pos; } sub get_block_end { my $pos = shift; my $ep = _ep_ref( shift ); $pos = $ep->GetCurrentPos unless defined $pos; my $line = $ep->LineFromPosition($pos); return $pos if _line_empty($line); return $pos if _line_empty($line+1) and $pos == $ep->GetLineEndPosition($line); my $cpos = $ep->GetCurrentPos; $ep->SetCurrentPos( $pos ); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_PARADOWN); $line = $ep->GetCurrentLine(); $line--; $line-- until $ep->PositionFromLine($line)!=$ep->GetLineEndPosition($line); $pos = $ep->GetLineEndPosition($line); $ep->SetCurrentPos( $cpos ); return $pos; } sub to_block_begin{ _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_PARAUPEXTEND) } sub to_block_end { _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_PARADOWNEXTEND) } # sub nothing { my $ep = _ep_ref( shift ); my $pos = $ep->GetCurrentPos; $ep->SetSelection( $pos, $pos ) } sub word { my $pos = shift; my $ep = _ep_ref( shift ); $pos = $ep->GetCurrentPos unless defined $pos; $ep->SetSelection($ep->WordStartPosition($pos,1),$ep->WordEndPosition($pos,1)); } sub line { my $line = shift; my $ep = _ep_ref( shift ); $line = $ep->GetCurrentLine() unless defined $line; $ep->SetSelection($ep->PositionFromLine($line),$ep->GetLineEndPosition($line)); } sub block { my $pos = shift; my $ep = _ep_ref( shift ); $pos = $ep->GetCurrentPos unless defined $pos; $ep->SetSelection( get_block_start($pos), get_block_end($pos) ); } sub all { &document } sub document { _ep_ref()->SelectAll } sub all_if_non { my $ep = _ep_ref(); $ep->SelectAll if $ep->GetSelectionStart == $ep->GetSelectionEnd; my ($start, $end) = $ep->GetSelection; return $ep->GetTextRange( $start, $end ); } sub toggle_simple { # selects word line block or nothing my $ep = _ep_ref( shift ); my ($start, $end)= $ep->GetSelection; # initial selection my $startline = $ep->LineFromPosition($start); my $endline = $ep->LineFromPosition($end); return if _line_empty($startline) and _line_empty($endline); # try select word, if already more selected, do a line if ($startline == $endline){ word($start); my ($probestart, $probeend) = $ep->GetSelection; return unless $start <= $probestart and $end >= $probeend; line(); ($probestart, $probeend) = $ep->GetSelection; return unless $start == $probestart and $end == $probeend; } my $blockstart = get_block_start($start); my $blockend = get_block_end($end); # select nothing because block was selected return nothing() if $start == $blockstart and $end == $blockend; $ep->SetSelection($blockstart, $blockend); } sub toggle_content { # selects text inside of < > [] {} () '' "" my $ep = _ep_ref( shift ); my $min = my $max = my $pos = $ep->GetCurrentPos; my ($start, $end)= $ep->GetSelection; my $startline = $ep->LineFromPosition($start); my $endline = $ep->LineFromPosition($end); my $style = $ep->GetStyleAt($pos); # select quotetation, styles: 6" 7' re styles 17, 18 if ($style == 6 or $style == 7){ $min-- while $ep->GetStyleAt($min-1) == $style; $max++ while $ep->GetStyleAt($max+1) == $style; unless ($start==$min and $end-1==$max) { if ($start-1==$min and $end==$max) {$ep->SetSelection($min, $max+1)} else {$ep->SetSelection($min+1, $max)} return; } } #my %delimiter = ( #'>' => '<', ']'=>'[', '}'=>'{', ')'=>'(', #'/' => '/', '\'' => '\'', '"' => '"' #); #print "$start, $end--\n"; #$ep->GetTextRange(); #$ep->PositionFromLine($line) $ep->GetLineEndPosition($line); #$ep->BraceMatch($newpos) #my $blockstart = get_block_start($start); #my $blockend = get_block_end($end); #$ep->PositionFromLine($line); #$ep->GetLineEndPosition($line); #$pasttext =~ /([||||||])/ #/{|}|\(|\)|\[|\]/ #tr/{}()\[\]//; #$` #my $matchpos = $ep->BraceMatch(--$pos); #print '',($ep->GetSelection),"\n"; } # expand rectangular selection sub expand_rect_left{} sub expand_rect_right{} sub expand_rect_up{} sub expand_rect_down{} 1; __END__ =head1 NAME Kephra::Edit::Select - calls to select different text parts =head1 DESCRIPTION =over 4 =item nothing =item word =item line =item block =item document =back kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Format.pm0000644000175000017500000001637111573645310020565 0ustar rizlarizlapackage Kephra::Edit::Format; our $VERSION = '0.26'; use strict; use warnings; sub _ep_ref { Kephra::App::EditPanel::_ref() } sub _config { Kephra::API::settings()->{editpanel} } # change indention width of selected text sub _indent_selection { my $width = shift || 0; my $ep = _ep_ref(); $ep->BeginUndoAction; for ( $ep->LineFromPosition($ep->GetSelectionStart) .. $ep->LineFromPosition($ep->GetSelectionEnd) ) { $ep->SetLineIndentation( $_, $ep->GetLineIndentation($_) + $width ) unless $ep->PositionFromLine($_) == $ep->GetLineEndPosition($_); } $ep->EndUndoAction; } sub autoindent { my $ep = _ep_ref(); my $line = $ep->GetCurrentLine; $ep->BeginUndoAction; $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE); my $indent = $ep->GetLineIndentation( $line ); $ep->SetLineIndentation( $line + 1, $indent); $ep->GotoPos( $ep->GetLineIndentPosition( $line + 1 ) ); $ep->EndUndoAction; } sub blockindent_open { my $ep = _ep_ref(); my $tabsize = Kephra::Document::Data::attr('tab_size'); my $line = $ep->GetCurrentLine; my $first_cpos = $ep->PositionFromLine($line) + $ep->GetLineIndentation($line); # position of first char in line my $matchfirst = $ep->BraceMatch($first_cpos); $ep->BeginUndoAction; # dedent a "} else {" correct if ($ep->GetCharAt($first_cpos) == 125 and $matchfirst > -1) { $ep->SetLineIndentation( $line, $ep->GetLineIndentation( $ep->LineFromPosition($matchfirst) ) ); } # grabbing my $bracepos = $ep->GetCurrentPos - 1; my $leadindent = $ep->GetLineIndentation($line); my $matchbrace = $ep->BraceMatch( $bracepos ); my $matchindent= $ep->GetLineIndentation($ep->LineFromPosition($matchbrace)); # make newl line $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE); # make new brace if there is missing one if (_config()->{auto}{brace}{make} and ($matchbrace == -1 or $ep->GetLineIndentation($line) != $matchindent )){ $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE); $ep->AddText('}'); $ep->SetLineIndentation( $line + 2, $leadindent ); } $ep->SetLineIndentation( $line + 1, $leadindent + $tabsize ); $ep->GotoPos( $ep->GetLineIndentPosition( $line + 1 ) ); $ep->EndUndoAction; } sub blockindent_close { my $ep = _ep_ref(); my $bracepos = shift; unless ($bracepos) { $bracepos = $ep->GetCurrentPos - 1; $bracepos-- while $ep->GetCharAt($bracepos) == 32; } $ep->BeginUndoAction; # 1 if it not textend, goto next line my $match = $ep->BraceMatch($bracepos); my $line = $ep->GetCurrentLine; unless ($ep->GetLineIndentPosition($line)+1 == $ep->GetLineEndPosition($line) or $ep->LineFromPosition($match) == $line ) { $ep->GotoPos($bracepos); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE); $ep->GotoPos( $ep->GetCurrentPos + 1 ); $line++; } # 2 wenn match dann korrigiere einrckung ansonst letzte - tabsize if ( $match > -1 ) { $ep->SetLineIndentation( $line, $ep->GetLineIndentation( $ep->LineFromPosition($match) ) ); } else { $ep->SetLineIndentation( $line, $ep->GetLineIndentation( $line - 1 ) - Kephra::Document::Data::attr('tab_size') ); } # make new line _config()->{auto}{indent} ? autoindent() : $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE); # 3 lsche dubs wenn in nchster zeile nur spaces bis dup #if ( _config()->{auto}{brace}{join} ) { #my $delbrace = $ep->PositionFromLine( $line + 2 ) #+ $ep->GetLineIndentation( $line + 1 ); #if ( $ep->GetCharAt($delbrace) == 125 ) { #$ep->SetTargetStart( $ep->GetCurrentPos ); #$ep->SetTargetEnd( $delbrace + 1 ); #$ep->ReplaceTarget(''); #} #} $ep->EndUndoAction; } sub indent_space { _indent_selection( 1) } sub dedent_space { _indent_selection(-1) } sub indent_tab { _indent_selection( Kephra::Document::Data::attr('tab_size') ) } sub dedent_tab { _indent_selection(-Kephra::Document::Data::attr('tab_size') ) } # sub align_indent { my $ep = _ep_ref(); my $firstline = $ep->LineFromPosition( $ep->GetSelectionStart ); my $align = $ep->GetLineIndentation($firstline); $ep->BeginUndoAction(); $ep->SetLineIndentation($_ ,$align) for $firstline + 1 .. $ep->LineFromPosition($ep->GetSelectionEnd); $ep->EndUndoAction(); } # deleting trailing spaces on line ends sub del_trailing_spaces { &Kephra::Edit::_save_positions; my $ep = _ep_ref(); my $text = Kephra::Edit::_select_all_if_none(); $text =~ s/[ \t]+(\r|\n|\Z)/$1/g; $ep->BeginUndoAction; $ep->ReplaceSelection($text); $ep->EndUndoAction; Kephra::Edit::_restore_positions(); } # sub join_lines { my $ep = _ep_ref(); my $text = $ep->GetSelectedText(); $text =~ s/[\r|\n]+/ /g; # delete end of line marker $ep->BeginUndoAction; $ep->ReplaceSelection($text); $ep->EndUndoAction; } sub blockformat{ return unless Scalar::Util::looks_like_number($_[0]); my $width = (int shift) + 1; my $ep = _ep_ref(); my ($begin, $end) = $ep->GetSelection; my $bline = $ep->LineFromPosition($begin); my $tmp_begin = $ep->PositionFromLine($bline); my $bspace = ' ' x $ep->GetLineIndentation($bline); my $space = _config()->{auto}{indention} ? $bspace : ''; chop $bspace; $ep->SetSelection($tmp_begin, $end); require Text::Wrap; $Text::Wrap::columns = $width; $Text::Wrap::unexpand = Kephra::Document::Data::attr('tab_use'); $Text::Wrap::tabstop = Kephra::Document::Data::attr('tab_size'); my $text = $ep->GetSelectedText; $text =~ s/[\r|\n]+/ /g; $ep->BeginUndoAction(); $ep->ReplaceSelection( Text::Wrap::fill($bspace, $space, $text) ); $ep->EndUndoAction(); } sub blockformat_LLI{ blockformat( _config()->{indicator}{right_margin}{position} ); } sub blockformat_custom { my $l18n = Kephra::Config::Localisation::strings()->{dialog}{edit}; my $width = Kephra::Dialog::get_text( $l18n->{wrap_width_input}, $l18n->{wrap_custom_headline} ); blockformat( $width ) if defined $width; } # breaking too long lines into smaller one sub line_break { return unless Scalar::Util::looks_like_number($_[0]); my $width = (int shift) + 1; my $ep = _ep_ref(); my ($begin, $end)= $ep->GetSelection; my $tmp_begin = $ep->LineFromPosition( $ep->PositionFromLine($begin) ); $ep->SetSelection($tmp_begin, $end); require Text::Wrap; $Text::Wrap::columns = $width; $Text::Wrap::unexpand = Kephra::Document::Data::attr('tab_use'); $Text::Wrap::tabstop = Kephra::Document::Data::attr('tab_size'); $ep->BeginUndoAction(); $ep->ReplaceSelection( Text::Wrap::wrap('', '', $ep->GetSelectedText) ); $ep->EndUndoAction(); } sub linebreak_custom { my $l10n = Kephra::Config::Localisation::strings()->{dialog}{edit}; my $width = Kephra::Dialog::get_text ($l10n->{wrap_width_input}, $l10n->{wrap_custom_headline} ); line_break( $width ) if defined $width; } sub linebreak_LLI { line_break( _config()->{indicator}{right_margin}{position} ); } sub linebreak_window { my $app = Kephra::App::Window::_ref(); my $ep = _ep_ref(); my ($width) = $app->GetSizeWH(); my $pos = $ep->GetColumn( $ep->PositionFromPointClose(100, 67) ); Kephra::Dialog::msg_box( $pos, '' ); #line_break($width); } 1; __END__ =head1 NAME Kephra::App::Format - functions that play with indention and length of lines =head1 DESCRIPTION kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Marker.pm0000644000175000017500000002427711573645310020562 0ustar rizlarizlapackage Kephra::Edit::Marker; our $VERSION = '0.24'; use strict; use warnings; # internal data handling subs sub _ep { Kephra::App::EditPanel::_ref() } sub _config { Kephra::API::settings()->{search}{marker} } my @bookmark; my @bookmark_nr = 0..9; my $marker_nr = 10; # pos remembered by edit control sub _attribute {'marked_lines'} sub _bookmarks { @bookmark } sub bookmark_is_set { my $nr = shift; return if $nr < 0 or $nr > 9; $bookmark[$nr]{set}; } sub _marker_search_byte { my $search_byte = 1 << $marker_nr; $search_byte |= (1 << scalar(@bookmark_nr) )-1 if _config()->{any}; $search_byte; } sub _refresh_bookmark_data { # checks if this bookmark is still valid # refresh or deletes data data if necessary my $nr = shift; return unless bookmark_is_set($nr); my $bm_data = $bookmark[$nr]; my $doc_nr = Kephra::Document::Data::validate_doc_nr( $bm_data->{doc_nr} ); $doc_nr = Kephra::Document::Data::nr_from_file_path($bm_data->{file}) if Kephra::Document::Data::get_file_path($doc_nr) ne $bm_data->{file}; _delete_bookmark_data($nr), return 0 if $doc_nr == -1; $bm_data->{doc_nr} = $doc_nr; my $ep = Kephra::Document::Data::_ep($doc_nr); my $line = $ep->MarkerNext(0, (1 << $nr) ); _delete_bookmark_data($nr), return 0 if $line == -1; my $ll = $ep->LineLength( $line ); if ($bm_data->{col} > $ll) { $bm_data->{col} = $ll; $bm_data->{pos} = $ep->PositionFromLine( $line ) + $bm_data->{col}; } return $bm_data->{line} = $line; } sub _refresh_all_bookmarks { _refresh_bookmark_data($_) for @bookmark_nr } sub _delete_bookmark_data { my $nr = shift; return if $nr < 0 or $nr > 9; $bookmark[$nr] = {}; } sub _get_pos {# switch: was command triggered from context menu or key/main menu my $ep = _ep(); my $line = Kephra::App::EditPanel::Margin::clicked_on_line(); return $line > -1 ? $ep->PositionFromLine($line) : $ep->GetCurrentPos(); } sub _get_line {# switch: was command triggered from context menu or key/main menu my $line = Kephra::App::EditPanel::Margin::clicked_on_line(); return $line > -1 ? $line : _ep()->GetCurrentLine(); } # # external API # sub define_marker { my $ep = shift; my $conf = Kephra::App::EditPanel::Margin::_marker_config(); my $color = \&Kephra::Config::color; my $fore = &$color( $conf->{fore_color} ); my $back = &$color( $conf->{back_color} ); $ep->MarkerDefineBitmap ( $_, Kephra::CommandList::get_cmd_property ( 'bookmark-goto-'.$_, 'icon' ) ) for @bookmark_nr; $ep->MarkerDefineBitmap( $marker_nr, Kephra::CommandList::get_cmd_property('marker-toggle-here', 'icon')); } sub delete_doc { my $doc_nr = shift; delete_all_bookmarks_in_doc($doc_nr); delete_all_marker_in_doc($doc_nr); } # bookmarks sub restore_bookmarks { my $bookmark_data = shift; for my $nr (@bookmark_nr) { if ( defined $bookmark_data->{$nr}){ my $this_bm = $bookmark_data->{$nr}; next unless ref $this_bm eq 'HASH' and $this_bm->{file} and $this_bm->{pos}; $bookmark[$nr]{file} = $this_bm->{file}; my $bookmark = $bookmark[$nr]; my $doc_nr = $bookmark->{doc_nr} = Kephra::Document::Data::nr_from_file_path( $this_bm->{file} ); next if $doc_nr < 0; my $ep = Kephra::Document::Data::_ep($doc_nr); my $pos = $bookmark->{pos} = $this_bm->{pos}; my $line = $bookmark->{line} = $ep->LineFromPosition( $pos ); $bookmark->{col} = $pos - $ep->PositionFromLine( $line ); $bookmark->{set} = 1 if $ep->MarkerAdd( $line, $nr ) > -1; } } } sub get_bookmark_data { _refresh_bookmark_data($_) for @bookmark_nr; my %bm_data; for my $nr (@bookmark_nr) { next unless bookmark_is_set($nr); $bm_data{$nr}{file} = $bookmark[$nr]{file}; $bm_data{$nr}{pos} = $bookmark[$nr]{pos}; } \%bm_data; } sub toggle_bookmark_in_pos { my $nr = shift; my $pos = shift; my $ep = _ep(); my $line = $ep->LineFromPosition($pos); # if bookmark is not in current line it will be set my $marker_in_line = (1 << $nr) & $ep->MarkerGet($line); delete_bookmark($nr); unless ($marker_in_line) { my $bookmark = $bookmark[$nr]; $bookmark->{file} = Kephra::Document::Data::file_path(); $bookmark->{pos} = $pos; $bookmark->{doc_nr} = Kephra::Document::Data::current_nr(); $bookmark->{col} = $pos - $ep->PositionFromLine($line); $bookmark->{line} = $line; $bookmark->{set} = 1 if $ep->MarkerAdd( $line, $nr) > -1; } } sub toggle_bookmark_here { # toggle triggered by margin middle click my ($ep, $event ) = @_; return unless ref $event eq 'Wx::MouseEvent'; my $pos = $ep->PositionFromPoint( $event->GetPosition() ); my $marker = $ep->MarkerGet($ep->LineFromPosition($pos) ); if ( $marker & ((1 << 10)-1) ){ for my $nr (@bookmark_nr) { # delete bookmarks in this line delete_bookmark($nr) if $marker & (1 << $nr) } } else { for my $nr (@bookmark_nr) { # set a free bookmark with lowest number return toggle_bookmark_in_pos($nr, $pos) unless bookmark_is_set($nr); } } } sub toggle_bookmark { # toggle command, triggered from macro, key, [context] menu toggle_bookmark_in_pos(shift, _get_pos() ); } sub goto_bookmark { my $nr = shift; if ( _refresh_bookmark_data($nr) ) { Kephra::Document::Change::to_nr( $bookmark[$nr]{doc_nr} ); Kephra::Edit::Goto::pos( $bookmark[$nr]{pos} ); } } sub delete_bookmark { my $nr = shift; if ( _refresh_bookmark_data( $nr ) ){ my $ep = Kephra::Document::Data::_ep( $bookmark[$nr]->{doc_nr} ); $ep->MarkerDeleteAll($nr); _delete_bookmark_data($nr); } } sub delete_all_bookmarks_in_doc { my $cnr = Kephra::Document::Data::current_nr(); for my $nr (@bookmark_nr) { _refresh_bookmark_data( $nr ); next unless bookmark_is_set($nr); delete_bookmark($nr) if $bookmark[$nr]->{doc_nr} eq $cnr; } } sub delete_all_bookmarks { delete_bookmark($_) for @bookmark_nr } # marker sub restore { my $doc_nr = shift; my $marker_pos = Kephra::Document::Data::get_attribute( _attribute(), $doc_nr); return unless ref $marker_pos eq 'ARRAY'; my $ep = Kephra::Document::Data::_ep($doc_nr); $ep->MarkerAdd( $_, $marker_nr) for @$marker_pos; } sub store { # update marker pos in the file data, saved later in File:Session # bookmarks are saved by Kephra::Edit::Search::save_search_data() my $search_byte = 1 << $marker_nr; for my $doc_nr (@{Kephra::Document::Data::all_nr()}) { my $ep = Kephra::Document::Data::_ep($doc_nr); my $line = 0; my @marker_pos; push @marker_pos, $line++ while -1 != ( $line = $ep->MarkerNext( $line, $search_byte ) ); Kephra::Document::Data::set_attribute( _attribute(), \@marker_pos, $doc_nr); } } sub toggle_marker_in_line { # generic set / delete marker in line my $line = shift; my $ep = _ep(); ($ep->MarkerGet($line) & (1 << $marker_nr)) ? $ep->MarkerDelete( $line, $marker_nr) : $ep->MarkerAdd( $line, $marker_nr); } sub toggle_marker_here { # toggle triggered by margin left click my ($ep, $event ) = @_; return unless ref $event eq 'Wx::MouseEvent'; #$ep->LineFromPosition( $event->GetPosition() if ref $event eq 'Wx::StyledTextEvent' toggle_marker_in_line( $ep->LineFromPosition( $ep->PositionFromPoint( $event->GetPosition() ) ) ); } sub toggle_marker { # toggle triggered by keyboard / icon / contextmenu toggle_marker_in_line( _get_line() ); } sub goto_prev_marker_in_doc { my $ep = _ep(); my $do_wrap = _config()->{wrap}; my $search_byte = _marker_search_byte(); my $line = $ep->MarkerPrevious( $ep->GetCurrentLine - 1, $search_byte ); $line = $ep->MarkerPrevious( $ep->GetLineCount(), $search_byte ) if $line == -1 and $do_wrap; Kephra::Edit::Goto::line_nr( $line ) if $line > -1; } sub goto_next_marker_in_doc { my $ep = _ep(); my $do_wrap = _config()->{wrap}; my $search_byte = _marker_search_byte(); my $line = $ep->MarkerNext( $ep->GetCurrentLine + 1, $search_byte ); $line = $ep->MarkerNext( 0, $search_byte ) if $line == -1 and $do_wrap; Kephra::Edit::Goto::line_nr( $line ) if $line > -1; } sub goto_prev_marker { my $search_byte = _marker_search_byte(); my $ep = _ep(); my $line = my $cur_line = $ep->MarkerPrevious( $ep->GetCurrentLine() - 1, $search_byte ); if ($line > -1) { Kephra::Edit::Goto::line_nr( $line ) } else { my $do_wrap = _config()->{wrap}; my $doc_nr = my $cur_doc = Kephra::Document::Data::current_nr(); while ( ($doc_nr = Kephra::Document::Data::next_nr(-1, $doc_nr)) != -1 ){ return if $cur_doc < $doc_nr and not $do_wrap; $ep = Kephra::Document::Data::_ep($doc_nr); $line = $ep->MarkerPrevious( $ep->GetLineCount(), $search_byte ); return if ($doc_nr == $cur_doc) and ($line == $cur_line or $line == -1); if ($line > -1) { Kephra::Document::Change::to_number( $doc_nr ); return Kephra::Edit::Goto::line_nr( $line ); } } } } sub goto_next_marker { my $search_byte = _marker_search_byte(); my $ep = _ep(); my $line = my $cur_line = $ep->MarkerNext( $ep->GetCurrentLine() + 1, $search_byte ); if ($line > -1) { Kephra::Edit::Goto::line_nr( $line ) } else { my $do_wrap = _config()->{wrap}; my $doc_nr = my $cur_doc = Kephra::Document::Data::current_nr(); while ( ($doc_nr = Kephra::Document::Data::next_nr(-1, $doc_nr)) != -1 ){ return if $cur_doc > $doc_nr and not $do_wrap; $ep = Kephra::Document::Data::_ep($doc_nr); $line = $ep->MarkerNext( 0, $search_byte ); return if ($doc_nr == $cur_doc) and ($line == $cur_line or $line == -1); if ($line > -1) { Kephra::Document::Change::to_number( $doc_nr ); return Kephra::Edit::Goto::line_nr( $line ); } } } } sub delete_all_marker_in_doc { my $doc_nr = Kephra::Document::Data::valid_or_current_doc_nr(shift); my $ep = Kephra::Document::Data::_ep($doc_nr); $ep->MarkerDeleteAll($marker_nr); } sub delete_all_marker { $_->MarkerDeleteAll($marker_nr) for @{Kephra::Document::Data::get_all_ep()}; } 1; =head1 NAME Kephra::Edit::Marker - bookmark and marker functions =head1 DESCRIPTION Marker are position in the document, that are marked by symbols in the margin on the left side. Every document can have many Marker. They can be navigated via [Alt+][Shift+]F2 or search bar. But there are only 10 bookmarks numbered from 0 to 9. =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Goto.pm0000644000175000017500000001167511573645310020247 0ustar rizlarizlapackage Kephra::Edit::Goto; our $VERSION = '0.11'; use strict; use warnings; # # internal calls # sub _ep_ref { Kephra::App::EditPanel::_ref() } sub _center_caret { Kephra::Edit::_center_caret() } sub _pos { my $ep = _ep_ref(); my $pos = shift; $pos += $ep->GetLength if $pos < 0; $ep->GotoPos($pos); $ep->EnsureCaretVisible(); } # # simple jump calls # sub pos { position(@_) } sub position { # jump caret to character based text position my $pos = shift; return unless $pos; my $ep = _ep_ref(); my $max = $ep->GetLength; my $fvl = $ep->GetFirstVisibleLine; my $visible = $ep->GetLineVisible( $ep->LineFromPosition($pos) ); $pos += $max if $pos < 0; $pos = 0 if $pos < 0; $pos = $max if $pos > $max; $ep->SetCurrentPos($pos); $ep->SetSelection ($pos, $pos); $ep->SearchAnchor; #$visible ? $ep->ScrollToLine($fvl) : _center_caret(); $ep->EnsureCaretVisible; $ep->EnsureVisible( $ep->LineFromPosition($pos) ); #_center_caret(); } sub next_visible_pos { my $ep = _ep_ref(); my $line = $ep->GetCurrentLine(); return if $ep->GetLineVisible($line); $line = $ep->GetFoldParent($line) until $ep->GetLineVisible($line); $ep->GotoLine($line); _center_caret(); } sub line { my $ep = _ep_ref(); my $l18n = Kephra::API::localisation()->{dialog}{edit}; my $line = Kephra::Dialog::get_number( $l18n->{goto_line_input}, $l18n->{goto_line_headline}, $ep->GetCurrentLine + 1 ); line_nr( $line - 1) unless $line == &Wx::wxCANCEL; } sub line_nr { position( _ep_ref()->PositionFromLine( shift ) ) } sub last_edit { my $pos = Kephra::Document::Data::get_attribute('edit_pos'); position( $pos ) if defined $pos; } # # block navigation # sub prev_block{ _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_PARAUP) } sub next_block{ _ep_ref()->CmdKeyExecute(&Wx::wxSTC_CMD_PARADOWN) } # # brace navigation # sub prev_brace { my $ep = _ep_ref(); my $oldpos = my $pos = $ep->GetCurrentPos; my $braceleft = 1; # is brace left to caret $braceleft--, $pos-- if $ep->BraceMatch($pos-1) > -1; $ep->GotoPos($pos - 1); $ep->SearchAnchor(); my $newpos = $ep->SearchPrev(&Wx::wxSTC_FIND_REGEXP, '[{}()\[\]]'); $newpos++ if $ep->BraceMatch($newpos) > $newpos; $newpos-- if not $braceleft and $newpos == $ep->BraceMatch($pos)+1; $newpos > -1 ? position($newpos) : position($oldpos); } sub next_brace { my $ep = _ep_ref( ); my $oldpos = my $pos = $ep->GetCurrentPos; my $braceleft = 0; # is brace left to caret $braceleft++, $pos-- if $ep->BraceMatch($pos-1) > -1 and $ep->BraceMatch($pos) == -1; $ep->GotoPos($oldpos + 1); $ep->SearchAnchor(); my $newpos = $ep->SearchNext(&Wx::wxSTC_FIND_REGEXP, '[{}()\[\]]'); $newpos++ if $ep->BraceMatch($newpos) > $newpos; $newpos++ if not $braceleft and $newpos == $ep->BraceMatch($pos); $newpos > -1 ? position($newpos) : position($oldpos); } sub prev_related_brace { my $ep = _ep_ref(); my $pos = $ep->GetCurrentPos; my $braceright = 1; # is brace right to caret my $matchpos = $ep->BraceMatch(--$pos); $braceright--, $matchpos = $ep->BraceMatch(++$pos) if $matchpos == -1; if ($matchpos == -1) { prev_brace() } else { if ($matchpos < $pos) { $braceright ? position($matchpos) : position($matchpos+1); } else { # when there is no matching brace my $open_char = chr $ep->GetCharAt($pos); my $close_char = chr $ep->GetCharAt($matchpos); $ep->GotoPos($pos); $ep->SearchAnchor(); my $next_open = $ep->SearchPrev(0, $open_char); $ep->GotoPos($pos); $ep->SearchAnchor(); my $next_close = $ep->SearchPrev(0, $close_char); if ($next_open ==-1 and $next_close == -1) { $ep->GotoPos($ep->GetLength); $ep->SearchAnchor(); position( $ep->SearchPrev(0, $close_char) ); } else { $next_open > $next_close ? position( $next_open + 1 ) : position( $next_close ); } } } } sub next_related_brace { my $ep = _ep_ref(); my $pos = $ep->GetCurrentPos; my $braceleft = 1; # is brace left to caret my $matchpos = $ep->BraceMatch($pos); $braceleft--, $matchpos = $ep->BraceMatch(--$pos) if $matchpos == -1; if ($matchpos == -1) { next_brace() } else { if ($matchpos > $pos) { $braceleft ? position($matchpos+1) : position($matchpos); } else { # when there is no matching brace my $open_char = chr $ep->GetCharAt($matchpos); my $close_char = chr $ep->GetCharAt($pos); $ep->GotoPos($pos + 1); $ep->SearchAnchor(); my $next_open = $ep->SearchNext(0, $open_char); $ep->GotoPos($pos + 1); $ep->SearchAnchor(); my $next_close = $ep->SearchNext(0, $close_char); if ($next_open ==-1 and $next_close == -1) { $ep->GotoPos(0); $ep->SearchAnchor(); position( $ep->SearchNext(0, $open_char) ); } else { $next_open < $next_close ? position( $next_open + 1 ) : position( $next_close ); } } } } 1; __END__ =head1 NAME Kephra::App::Goto - caret jump functions =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Convert.pm0000644000175000017500000001150711573645310020751 0ustar rizlarizlapackage Kephra::Edit::Convert; our $VERSION = '0.10'; use strict; use warnings; # wrapper method for the always same preparation and afterwork sub _default { my $action = shift; return until ref $action eq 'CODE'; my $ep = Kephra::App::EditPanel::_ref(); Kephra::EventTable::freeze_group('edit'); my ($begin, $end) = $ep->GetSelection; Kephra::Edit::_save_positions(); $ep->BeginUndoAction; $ep->SelectAll if $begin == $end; &$action( $ep ); $ep->EndUndoAction; Kephra::Edit::_restore_positions(); Kephra::EventTable::thaw_group('edit'); } # perform regexes on selection sub _tr { my ($dir, @arg) = @_; my ($fi, $ti); ($fi, $ti) = $dir eq 'fore' ? (0,1) : (1,0); _default( sub { my $ep = shift; my $text = $ep->GetSelectedText(); $text =~ s/$_->[$fi]/$_->[$ti]/g for @arg; $ep->ReplaceSelection($text); } ); } # # external calls # sub upper_case {_default( sub{ shift->CmdKeyExecute(&Wx::wxSTC_CMD_UPPERCASE) } )} sub lower_case {_default( sub{ shift->CmdKeyExecute(&Wx::wxSTC_CMD_LOWERCASE) } )} sub title_case {_default( sub{ my $ep = shift; my ($sel_end, $pos) = ($ep->GetSelectionEnd, 0); $ep->SetCurrentPos( $ep->GetSelectionStart - 1 ); while () { $ep->CmdKeyExecute(&Wx::wxSTC_CMD_WORDRIGHT); $pos = $ep->GetCurrentPos; last if $sel_end <= $pos; $ep->SetSelection( $pos, $pos + 1 ); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_UPPERCASE); } } )} sub sentence_case { _default( sub{ my $ep = shift; my $line; my ($sel_end, $pos) = ($ep->GetSelectionEnd, 0); $ep->SetCurrentPos( $ep->GetSelectionStart() - 1 ); while () { $ep->CmdKeyExecute(&Wx::wxSTC_CMD_WORDRIGHT); $pos = $ep->GetCurrentPos; $line = $ep->LineFromPosition($pos); if ($pos == $ep->GetLineEndPosition( $ep->LineFromPosition($pos) )) { $ep->CmdKeyExecute(&Wx::wxSTC_CMD_WORDRIGHT); $pos = $ep->GetCurrentPos; } last if $sel_end <= $pos; $ep->SetSelection( $pos, $pos + 1 ); $ep->CmdKeyExecute(&Wx::wxSTC_CMD_UPPERCASE); $ep->SetCurrentPos( $pos + 1 ); $ep->SearchAnchor; last if $ep->SearchNext( 0, "." ) == -1 ; } } )} # # # sub _tabs2spaces { [' ' x Kephra::App::EditPanel::_ref()->GetTabWidth, "\t"] } sub spaces2tabs { _tr('fore', _tabs2spaces()) } sub tabs2spaces { _tr('back', _tabs2spaces()) } # # # sub indent2tabs { _indention(1) } sub indent2spaces { _indention(0) } sub _indention { my $indention = shift; my $ep = Kephra::App::EditPanel::_ref(); my ($begin, $end) = $ep->GetSelection; my $use_tabs = $ep->GetUseTabs; my $i; $ep->SetUseTabs($indention); $ep->BeginUndoAction(); for ($ep->LineFromPosition($begin) .. $ep->LineFromPosition($end)) { $i = $ep->GetLineIndentation($_); $ep->SetLineIndentation( $_, $i + 1 ); $ep->SetLineIndentation( $_, $i ); } $ep->EndUndoAction; $ep->SetUseTabs($use_tabs); } # # HTML enteties # my $space2entety = [' ',' ']; my @char2entity = ( ['','à'],['','á'],['','â'],['','ä'], ['','À'],['','Á'],['','Â'],['','Ä'], ['','ã'],['','å'],['','Ã'],['','Å'], ['','æ'], ['','Æ'],['','ç'],['','Ç'], ['','è'],['','é'],['','ê'],['','ë'], ['','È'],['','É'],['','Ê'],['','Ë'], ['','ð'], ['','Ð'], ['','ì'],['','í'],['','î'],['','ï'], ['','Ì'],['','Í'],['','Î'],['','Ï'], ['','µ'], ['','ñ'],['','ñ'], ['','ò'],['','ó'],['','ô'],['','ö'], ['','Ò'],['','Ó'],['','Ô'],['','Ö'], ['','õ'],['','ø'],['','Õ'],['','Ø'], ['','ù'],['','ú'],['','û'],['','ü'], ['','Ù'],['','Ú'],['','Û'],['','Ü'], ['','ý'],['','Ý'],['','ÿ'], ['','þ'], ['','Þ'], ['','ß'], ['','¦'],['','´'], ['','¸'],['','¨'], ['','·'],['','¯'], ['','«'], ['','»'], ['','¡'],['','¿'], ['','±'],['','×'], ['','÷'], ['','¬'], ['','°'], ['','º'], ['','ª'], ['','¹'], ['','²'], ['','³'], ['','¼'],['','½'],['','¾'], ['','¤'],['','¢'], ['','£'],['','¥'], ['','§'], ['','¶'], ['','©'], ['','®'], ); sub spaces2entities { _tr('fore', $space2entety) } sub entities2spaces { _tr('back', $space2entety) } sub chars2entities { _tr('fore', @char2entity) } sub entities2chars { _tr('back', @char2entity) } 1; __END__ =head1 NAME Kephra::App::Convert - character and word translation functions =head1 DESCRIPTION kephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Search.pm0000644000175000017500000004730011573645310020536 0ustar rizlarizlapackage Kephra::Edit::Search; our $VERSION = '0.31'; use strict; use warnings; # internal and menu functions about find and replace text # drag n drop target class # internal functions my ($find_item, $found_pos, $old_pos, $replace_item); my $flags; my $history_refresh; my @find_history; my @replace_history; sub _config { Kephra::API::settings()->{search} } sub _attributes{ _config()->{attribute} } sub _history { _config()->{history} } sub _find_pos { $found_pos } sub _refresh_search_flags { my $attr = _attributes(); $flags = 0; $flags |= &Wx::wxSTC_FIND_MATCHCASE if defined $attr->{match_case} and $attr->{match_case}; if ( defined $attr->{match_whole_word} and $attr->{match_whole_word} ) { $flags |= &Wx::wxSTC_FIND_WHOLEWORD } else { $flags |= &Wx::wxSTC_FIND_WORDSTART if $attr->{match_word_begin} and $attr->{match_word_begin}; } $flags |= &Wx::wxSTC_FIND_REGEXP if defined $attr->{match_regex} and $attr->{match_regex}; } sub load_search_data { my $file = Kephra::Config::filepath( _config()->{data_file} ); my $config_tree = Kephra::Config::File::load($file); set_find_item( $config_tree->{find}{item} || '' ); set_replace_item( $config_tree->{replace}{item} || '' ); if (defined $config_tree->{find}{history}){ if (ref $config_tree->{find}{history} eq 'ARRAY'){ @find_history = @{ $config_tree->{find}{history} }; } else { $find_history[0] = $config_tree->{find}{history} } } if (defined $config_tree->{replace}{history}){ if (ref $config_tree->{replace}{history} eq 'ARRAY'){ @replace_history = @{ $config_tree->{replace}{history} }; } else { $replace_history[0] = $config_tree->{replace}{history} } } my $history = _history(); # remove dups and cut to the configured length if ( $history->{use} ) { my ( %seen1, %seen2 ); my @uniq = grep { !$seen1{$_}++ } @find_history; @find_history = splice @uniq, 0, $history->{length}; @uniq = grep { !$seen2{$_}++ } @replace_history; @replace_history = splice @uniq, 0, $history->{length}; } else { @find_history = (); @replace_history = (); } # search item is findable $found_pos = 0; Kephra::EventTable::trigger ('find.item.history.changed', 'replace.item.history.changed'); Kephra::Edit::Marker::restore_bookmarks( $config_tree->{bookmark} ); } sub save_search_data { my $file = Kephra::Config::filepath( _config()->{data_file} ); my $config_tree = Kephra::Config::File::load($file); $config_tree->{find}{item} = get_find_item(); $config_tree->{find}{history} = get_find_history(); $config_tree->{replace}{item} = get_replace_item(); $config_tree->{replace}{history} = get_replace_history(); $config_tree->{bookmark} = Kephra::Edit::Marker::get_bookmark_data(); Kephra::Config::File::store($file, $config_tree); Kephra::Edit::Marker::store(); } # sub get_find_item { $find_item || ''} sub set_find_item { my $old = $find_item; my $new = shift; if (defined $new and (not defined $old or $new ne $old)){ $find_item = $new; $found_pos = -1; Kephra::EventTable::trigger('find.item.changed'); } } sub set_selection_as_find_item { set_find_item( Kephra::App::EditPanel::_ref()->GetSelectedText ) } sub item_findable { _exist_find_item() } sub _exist_find_item { (defined $find_item and $find_item) ? 1 : 0 } sub _exist_replace_item { (defined $replace_item and $replace_item) ? 1 : 0 } sub get_replace_item { $replace_item || ''} sub set_replace_item { my $old = $replace_item; my $new = shift; if (defined $new and (not defined $old or $new ne $old)){ $replace_item = $new; Kephra::EventTable::trigger('replace.item.changed'); } } sub set_selection_as_replace_item { set_replace_item( Kephra::App::EditPanel::_ref()->GetSelectedText ) } sub get_find_history { \@find_history } sub get_replace_history { \@replace_history } sub refresh_find_history { my $found_match = shift; my $find_item = get_find_item(); my $history = _history(); return unless $history->{use}; # check if refresh needed return if $history->{remember_only_matched} and not $found_match; if ($find_item and $find_history[0] ne $find_item) { for ( 0 .. $#find_history ) { # delete the dup if ( $find_history[$_] eq $find_item ) { @find_history = @find_history[ 0 .. $_-1, $_+1 .. $#find_history ]; last; } pop @find_history if $_ == $history->{length} - 1; } unshift @find_history, $find_item; # insert new history item Kephra::EventTable::trigger('find.item.history.changed'); } } sub refresh_replace_history { my $replace_item = get_replace_item(); my $history = _history(); if ($replace_item) { for ( 0 .. $#replace_history ) { if ( $replace_history[$_] eq $replace_item ) { @replace_history = @replace_history[ 0 .. $_-1, $_+1 .. $#replace_history ]; last; } pop @replace_history if $_ == $history->{length} - 1; } unshift @replace_history, $replace_item; Kephra::EventTable::trigger('replace.item.history.changed'); } } sub _caret_2_sel_end { my $ep = Kephra::App::EditPanel::_ref(); my $pos = $ep->GetCurrentPos; my $sel_start = $ep->GetSelectionStart; my $sel_end = $ep->GetSelectionEnd; if ( $pos != $sel_end ) { $ep->SetCurrentPos($sel_end); $ep->SetSelectionStart($sel_start); } } # sub set_range{ _attributes()->{in} = shift } sub get_range{ _attributes()->{in} } sub get_attribute{ my $attr = shift; if ($attr eq 'match_case' or $attr eq 'match_word_begin'or $attr eq 'match_whole_word'or $attr eq 'match_regex' or $attr eq 'auto_wrap' or $attr eq 'incremental' ) { _attributes()->{$attr} } } sub switch_attribute{ my $attr = shift; if ($attr eq 'match_case' or $attr eq 'match_word_begin'or $attr eq 'match_whole_word'or $attr eq 'match_regex' or $attr eq 'auto_wrap' or $attr eq 'incremental' ) { unless (defined _attributes->{$attr}) { _attributes->{$attr} = 1 } else { _attributes->{$attr} ^= 1 } _refresh_search_flags() if substr($attr, 0, 1) eq 'm'; } } # find helper function sub replace_selection { Kephra::App::EditPanel::_ref()->ReplaceSelection( get_replace_item() ) } sub _find_next { my $ep = Kephra::App::EditPanel::_ref(); $ep->SearchAnchor; $found_pos = $ep->SearchNext( $flags, get_find_item() ); Kephra::EventTable::trigger('find'); return $found_pos; } sub _find_prev { my $ep = Kephra::App::EditPanel::_ref(); $ep->SearchAnchor; $found_pos = $ep->SearchPrev( $flags, get_find_item() ); Kephra::EventTable::trigger('find'); return $found_pos; } sub _find_first { Kephra::Edit::Goto::_pos(0); _find_next(); } sub _find_last { Kephra::Edit::Goto::_pos(-1); _find_prev(); } sub first_increment { my $ep = Kephra::App::EditPanel::_ref(); if ( _exist_find_item() ) { Kephra::Edit::_save_positions; if ( _find_first() > -1 ) { #_caret_2_sel_end(); Kephra::Edit::_center_caret; return 1; } } Kephra::Edit::Goto::_pos( $old_pos ) if defined $old_pos; return 0; } #sub next_increment {} # find related menu calls sub find_all { #Kephra::Dialog::msg_box(&Wx::wxUNICODE(), ''); my $ep = Kephra::App::EditPanel::_ref(); if ( _exist_find_item() ) { my $search_result = _find_first(); my ($sel_start, $sel_end); #Kephra::Dialog::msg_box( , ''); #$ep->IndicatorSetStyle(0, &Wx::wxSTC_INDIC_TT ); #$ep->IndicatorSetForeground(0, &Wx::Colour->new(0xff, 0x00, 0x00)); $ep->IndicatorSetStyle(1, &Wx::wxSTC_INDIC_TT ); $ep->IndicatorSetForeground(1, &Wx::Colour->new(0xff, 0x00, 0x00)); # ^= &Wx::wxSTC_INDIC_STRIKE; $ep->SetSelection(0,0); return 0 if $search_result == -1; while ($search_result > -1){ ($sel_start, $sel_end) = $ep->GetSelection; Kephra::Edit::Goto::_pos( $sel_end ); $ep->StartStyling($sel_start, 224);#224 $ep->SetStyleBytes($sel_end - $sel_start, 128); $search_result = _find_next(); } Kephra::Edit::Goto::_pos( $sel_end ); $ep->Colourise( 0, $sel_end); return 1; } else { Kephra::Edit::Goto::_pos( $old_pos ) if defined $old_pos; return 1; } } sub find_prev { my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my $return = -1; if ( _exist_find_item() ) { Kephra::Edit::_save_positions; Kephra::Edit::Goto::_pos( $ep->GetSelectionStart - 1 ); $return = _find_prev(); if ( $return == -1 ) { if ( get_range() eq 'document' ) { $return = _find_last() if $attr->{auto_wrap}; } elsif ( get_range() eq 'open_docs' ) { $Kephra::temp{dialog}{control} = 1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions; last if ( ( Kephra::Document::Data::current_nr() == 0 ) and !$attr->{auto_wrap} ); Kephra::Document::Change::tab_left(); Kephra::Edit::_save_positions(); $return = _find_last(); last if ( Kephra::Document::Data::current_nr() == $begin_doc ); } $Kephra::temp{dialog}{control} = 0; } } if ( $return == -1 ) { Kephra::Edit::_restore_positions() } else { _caret_2_sel_end(); Kephra::Edit::_center_caret() } refresh_find_history($return); } $return; } sub find_next { my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my $return = -1; if ( _exist_find_item() ) { Kephra::Edit::_save_positions(); Kephra::Edit::Goto::_pos( $ep->GetSelectionEnd ); $return = _find_next(); if ( $return == -1 ) { if ( get_range() eq 'document' ) { $return = _find_first() if $attr->{auto_wrap}; } elsif ( get_range() eq 'open_docs' ) { $Kephra::temp{dialog}{control} = 1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions(); last if Kephra::Document::Data::current_nr() == Kephra::Document::Data::last_nr() and not $attr->{auto_wrap}; Kephra::Document::Change::tab_right(); Kephra::Edit::_save_positions(); $return = _find_first(); last if ( Kephra::Document::Data::current_nr() == $begin_doc ); } $Kephra::temp{dialog}{control} = 0; } } if ( $return == -1 ) { Kephra::Edit::_restore_positions() } else { _caret_2_sel_end(); Kephra::Edit::_center_caret(); } refresh_find_history($return); } $return; } sub fast_back { my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my $return = -1; if (_exist_find_item()) { for ( 1 .. $attr->{fast_steps} ) { Kephra::Edit::_save_positions(); Kephra::Edit::Goto::_pos( $ep->GetSelectionStart - 1 ); $return = _find_prev(); if ( $return == -1 ) { if ( get_range() eq 'document' ) { $return = _find_last() if $attr->{auto_wrap}; } elsif ( get_range() eq 'open_docs' ) { $Kephra::temp{dialog}{control} = 1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions(); last if Kephra::Document::Data::current_nr() == 0 and not $attr->{auto_wrap}; Kephra::Document::Change::tab_left(); Kephra::Edit::_save_positions(); $return = _find_last(); last if Kephra::Document::Data::current_nr() == $begin_doc; } $Kephra::temp{dialog}{control} = 0; } } refresh_find_history($return) if ( $_ == 1 ); if ( $return == -1 ) { Kephra::Edit::_restore_positions(); last; } else { _caret_2_sel_end(); Kephra::Edit::_center_caret(); } } } } sub fast_fore { my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my $return = -1; if (_exist_find_item()) { for ( 1 .. $attr->{fast_steps} ) { Kephra::Edit::_save_positions(); Kephra::Edit::Goto::_pos( $ep->GetSelectionEnd ); $return = _find_next(); if ( $return == -1 ) { if ( get_range() eq 'document' ) { $return = _find_first() if $attr->{auto_wrap}; } elsif ( get_range() eq 'open_docs' ) { $Kephra::temp{dialog}{control} = 1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions(); last if Kephra::Document::Data::current_nr() == Kephra::Document::Data::last_nr() and not $attr->{auto_wrap}; Kephra::Document::Change::tab_right(); Kephra::Edit::_save_positions(); $return = _find_first(); last if Kephra::Document::Data::current_nr() == $begin_doc; } $Kephra::temp{dialog}{control} = 0; } } refresh_find_history($return) if $_ == 1; if ( $return == -1 ) { Kephra::Edit::_restore_positions(); last; } else { _caret_2_sel_end(); Kephra::Edit::_center_caret(); } } } } sub find_first { my $menu_call = shift; my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my ( $sel_begin, $sel_end ) = $ep->GetSelection; my $pos = $ep->GetCurrentPos; my $len = _exist_find_item(); my $return; if ( _exist_find_item() ) { Kephra::Edit::_save_positions(); if ($menu_call and $sel_begin != $sel_end and $sel_end - $sel_begin > $len ) { set_range('selection') } if ( get_range() eq 'selection' ) { Kephra::Edit::Goto::_pos($sel_begin); $return = _find_next(); if ($return > -1 and $ep->GetCurrentPos + $len <= $sel_end) { Kephra::Edit::_center_caret(); } else { Kephra::Edit::_restore_positions(); $return = -1; } } else { $return = _find_first(); if ( get_range() eq 'open_docs' and ($sel_begin == $ep->GetSelectionStart or $return == -1 ) ){ $Kephra::temp{dialog}{control} = 1; $return = -1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions(); last if Kephra::Document::Data::current_nr() == 0 and not $attr->{auto_wrap}; Kephra::Document::Change::tab_left(); Kephra::Edit::_save_positions(); $return = _find_first(); last if ( Kephra::Document::Data::current_nr() == $begin_doc ); } $Kephra::temp{dialog}{control} = 0; } if ( $return > -1 ) { _caret_2_sel_end(); Kephra::Edit::_center_caret(); } else { Kephra::Edit::_restore_positions(); } } refresh_find_history($return); } $return; } sub find_last { my $menu_call = shift; my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my ( $sel_begin, $sel_end ) = $ep->GetSelection; my $pos = $ep->GetCurrentPos; my $len = _exist_find_item(); my $return; if (_exist_find_item()) { Kephra::Edit::_save_positions(); if ($menu_call and $sel_begin != $sel_end and $sel_end - $sel_begin > $len) { set_range('selection'); } if ( get_range() eq 'selection' ) { Kephra::Edit::Goto::_pos($sel_end); $return = _find_prev(); if ($return > -1 and $ep->GetCurrentPos >= $sel_begin) { Kephra::Edit::_center_caret(); } else { Kephra::Edit::_restore_positions(); $return = -1; } } else { $return = _find_last(); if (get_range() eq 'open_docs' and ($sel_begin == $ep->GetSelectionStart or $return == -1) ){ $Kephra::temp{dialog}{control} = 1; $return = -1; my $begin_doc = Kephra::Document::Data::current_nr(); while ( $return == -1 ) { Kephra::Edit::_restore_positions(); last if Kephra::Document::Data::current_nr() == Kephra::Document::Data::last_nr() and not $attr->{auto_wrap}; Kephra::Document::Change::tab_right(); Kephra::Edit::_save_positions(); $return = _find_last(); last if ( Kephra::Document::Data::current_nr() == $begin_doc ); } $Kephra::temp{dialog}{control} = 0; } if ( $return > -1 ) { _caret_2_sel_end(); Kephra::Edit::_center_caret(); } else { Kephra::Edit::_restore_positions(); } } refresh_find_history($return); } $return; } # replace sub replace_back { my $ep = Kephra::App::EditPanel::_ref(); if ( $ep->GetSelectionStart != $ep->GetSelectionEnd ) { replace_selection(); refresh_replace_history(); find_prev(); } } sub replace_fore { my $ep = Kephra::App::EditPanel::_ref(); if ( $ep->GetSelectionStart != $ep->GetSelectionEnd ) { replace_selection(); refresh_replace_history(); find_next(); } } sub replace_all { my $menu_call = shift; my $ep = Kephra::App::EditPanel::_ref(); my ($sel_begin, $sel_end ) = $ep->GetSelection; my $line = $ep->GetCurrentLine; my $len = _exist_find_item(); my $replace_string = get_replace_item(); #if ($len) { # forbid replace with nothing if ( $menu_call and $sel_begin != $sel_end and $sel_end - $sel_begin > $len ) { _attributes()->{in} = 'selection'; } if ( get_range() eq 'selection' ) { $ep->BeginUndoAction; Kephra::Edit::Goto::_pos($sel_begin); while ( _find_next() > -1 ) { last if ( $ep->GetCurrentPos + $len >= $sel_end ); $ep->ReplaceSelection($replace_string); } $ep->EndUndoAction; } elsif ( get_range() eq 'document' ) { $ep->BeginUndoAction; Kephra::Edit::Goto::_pos(0); while ( _find_next() > -1 ) { $ep->ReplaceSelection($replace_string); } $ep->EndUndoAction; } elsif ( get_range() eq 'open_docs' ) { my $begin_doc = Kephra::Document::Data::current_nr(); do { { Kephra::Edit::_save_positions(); $ep->BeginUndoAction; Kephra::Edit::Goto::_pos(0); while ( _find_next() > -1 ) { $ep->ReplaceSelection($replace_string); } $ep->EndUndoAction; Kephra::Edit::_restore_positions(); } } until ( Kephra::Document::Change::tab_right() == $begin_doc ); } $ep->GotoLine($line); refresh_replace_history; Kephra::Edit::_keep_focus(); #} # end of don't replace nothing } sub replace_confirm { if (_exist_find_item()) { my $ep = Kephra::App::EditPanel::_ref(); my $attr = _attributes(); my $line = $ep->LineFromPosition( $ep->GetCurrentPos ); my $len = _exist_find_item(); my $sel_begin = $ep->GetSelectionStart; my $sel_end = $ep->GetSelectionEnd; my $answer = &Wx::wxYES; my $menu_call = shift; set_range('selection') if $menu_call and $sel_begin != $sel_end and $sel_end - $sel_begin > $len; if (get_range() eq 'selection') { sniff_selection( $ep, $sel_begin, $sel_end, $len, $line ); } elsif (get_range() eq 'document') { sniff_selection( $ep, 0, $ep->GetTextLength, $len, $line ); } elsif (get_range() eq 'open_docs') { my $begin_doc = Kephra::Document::Data::current_nr(); do { { next if $answer == &Wx::wxCANCEL; Kephra::Edit::_save_positions(); $answer = sniff_selection ( $ep, 0, $ep->GetTextLength, $len, $line ); Kephra::Edit::_restore_positions(); } } until ( Kephra::Document::Change::tab_right() == $begin_doc ); } } sub sniff_selection { my ( $ep, $sel_begin, $sel_end, $len, $line ) = @_; my $l10n = Kephra::Config::Localisation::strings()->{dialog}{search}{confirm}; my $answer; Kephra::Edit::Goto::_pos($sel_begin); $ep->BeginUndoAction(); while ( _find_next() > -1 ) { last if $ep->GetCurrentPos + $len >= $sel_end; Kephra::Edit::_center_caret(); $answer = Kephra::Dialog::get_confirm_3 ($l10n->{text}, $l10n->{title}, 100, 100); last if $answer == &Wx::wxCANCEL; if ($answer == &Wx::wxYES) {replace_selection()} else {$ep->SetCurrentPos( $ep->GetCurrentPos + 1 )} } $ep->EndUndoAction; Kephra::Edit::Goto::_pos( $ep->PositionFromLine($line) ); Kephra::Edit::_center_caret(); $answer; } refresh_replace_history(); Kephra::Edit::_keep_focus(); } 1; =head1 NAME Kephra::Edit::Search - find and replace functions =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Edit/Special.pm0000644000175000017500000000355511573645310020715 0ustar rizlarizlapackage Kephra::Edit::Special; $VERSION = '0.01'; use strict; use warnings; sub _ep_ref { Kephra::App::EditPanel::_ref() } sub copy_surrounding_string { # Edit String (surrounding string encapsulated by "" or '') my $ep = _ep_ref(); my $pos = $ep->GetCurrentPos; my $line = $ep->GetCurrentLine; my $lpos = $ep->PositionFromLine($line); my $befor_text = $ep->GetTextRange($lpos, $pos); my $after_text = $ep->GetTextRange($pos+1, $ep->GetLineEndPosition($line)); my $sq_start = rindex $befor_text, '\''; my $sq_stop = index $after_text, '\''; my $dq_start = rindex $befor_text, '"'; my $dq_stop = index $after_text, '"'; return if ($sq_start == -1 or $sq_stop == -1) and ($dq_start == -1 or $dq_stop == -1); Kephra::Edit::_save_positions(); if ($sq_start > $dq_start){$ep->SetSelection($lpos+$sq_start+1, $pos+$sq_stop+1)} else {$ep->SetSelection($lpos+$dq_start+1, $pos+$dq_stop+1)} Kephra::Edit::copy(); Kephra::Edit::_restore_positions(); } sub insert_last_perl_var { my $ep = _ep_ref(); my $lnr = $ep->GetCurrentLine; return unless $lnr; my $pos = $ep->GetCurrentPos; my $var; # store catched var name into that scalar my $nl = ''; # namespace level, how nested is current ns? while (1){ # go up and get me the conent of the line my $line = $ep->GetLine(--$lnr); # catch the perl var my $result = $line =~ /([\$@%]\w+)[\[{ -=\(\r\n]/; $nl++ if $line =~ /^\s*\}/; $nl-- if $line =~ /\{\s*(#.*)?$/; $var = $nl ? '' : $1; # exit loop if found something in this , no subnamespace, # or reached end of file or end of block last if $var or $lnr == 0 or ($nl and $nl < 0); } return unless $var; $ep->InsertText( $pos, $var); $ep->GotoPos($pos + length $var); } sub insert_time_date { my @t = localtime; Kephra::Edit::insert( sprintf( "%02d:%02d %02d.%02d.%d", $t[2],$t[1],$t[3],1+$t[4],1900+$t[5] ) ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App.pm0000644000175000017500000001562011600712561017156 0ustar rizlarizlapackage Kephra::App; our $VERSION = '0.12'; use strict; use warnings; our @ISA = 'Wx::App'; # $NAME is a wx application my $obj; sub _ref { $obj = ref $_[0] eq __PACKAGE__ ? $_[0] : $obj } # main layout, main frame sub warn { Kephra::Dialog::warning_box(Kephra::App::Window::_ref(), @_, 'Warning') } sub splashscreen { my $img_file = shift; $img_file = Kephra::Config::filepath( $img_file ); Wx::InitAllImageHandlers(); my $sc = Wx::SplashScreen->new( Wx::Bitmap->new( $img_file, &Wx::wxBITMAP_TYPE_ANY ), &Wx::wxSPLASH_CENTRE_ON_SCREEN | &Wx::wxSPLASH_NO_TIMEOUT, 0, undef, -1, &Wx::wxDefaultPosition, &Wx::wxDefaultSize, &Wx::wxSIMPLE_BORDER | &Wx::wxFRAME_NO_TASKBAR | &Wx::wxSTAY_ON_TOP ) if $img_file and -e $img_file; return $sc; } sub assemble_layout { my $win = Kephra::App::Window::_ref(); my $tg = &Wx::wxTOP | &Wx::wxGROW; Kephra::EventTable::freeze ( qw(app.splitter.right.changed app.splitter.bottom.changed) ); $Kephra::app{splitter}{right} = Wx::SplitterWindow->new ($win, -1, [-1,-1], [-1,-1], &Wx::wxSP_PERMIT_UNSPLIT) unless exists $Kephra::app{splitter}{right}; my $right_splitter = $Kephra::app{splitter}{right}; Wx::Event::EVT_SPLITTER_SASH_POS_CHANGED( $right_splitter, $right_splitter, sub { Kephra::EventTable::trigger( 'app.splitter.right.changed' ); } ); Wx::Event::EVT_SPLITTER_DOUBLECLICKED($right_splitter, $right_splitter, sub { Kephra::App::Panel::Notepad::show(0); }); $right_splitter->SetSashGravity(1); $right_splitter->SetMinimumPaneSize(10); $Kephra::app{panel}{main} = Wx::Panel->new($right_splitter) unless exists $Kephra::app{panel}{main}; my $column_panel = $Kephra::app{panel}{main}; $column_panel->Reparent($right_splitter); # setting up output splitter $Kephra::app{splitter}{bottom} = Wx::SplitterWindow->new ($column_panel, -1, [-1,-1], [-1,-1], &Wx::wxSP_PERMIT_UNSPLIT) unless exists $Kephra::app{splitter}{bottom}; my $bottom_splitter = $Kephra::app{splitter}{bottom}; Wx::Event::EVT_SPLITTER_SASH_POS_CHANGED( $bottom_splitter, $bottom_splitter, sub { Kephra::EventTable::trigger( 'app.splitter.bottom.changed' ); } ); Wx::Event::EVT_SPLITTER_DOUBLECLICKED($bottom_splitter, $bottom_splitter, sub { Kephra::App::Panel::Output::show(0); }); $bottom_splitter->SetSashGravity(1); $bottom_splitter->SetMinimumPaneSize(10); $Kephra::app{panel}{center} = Wx::Panel->new($bottom_splitter) unless exists $Kephra::app{panel}{center}; my $center_panel = $Kephra::app{panel}{center}; $center_panel->Reparent($bottom_splitter); my $tab_bar = Kephra::App::TabBar::_ref(); my $search_bar = Kephra::App::SearchBar::_ref(); my $search_pos = Kephra::App::SearchBar::position(); my $notepad_panel = Kephra::App::Panel::Notepad::_ref(); my $output_panel = Kephra::App::Panel::Output::_ref(); $tab_bar->Reparent($center_panel); $search_bar->Reparent($center_panel); $search_bar->Reparent($column_panel) if $search_pos eq 'bottom'; $notepad_panel->Reparent($right_splitter); $output_panel->Reparent($bottom_splitter); my $center_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $center_sizer->Add( $search_bar, 0, $tg, 0) if $search_pos eq 'above'; $center_sizer->Add( $tab_bar, 1, $tg, 0 ); $center_sizer->Add( $search_bar, 0, $tg, 0 ) if $search_pos eq 'below'; $center_panel->SetSizer($center_sizer); $center_panel->SetAutoLayout(1); my $column_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $column_sizer->Add( $bottom_splitter, 1, $tg, 0); $column_sizer->Add( $search_bar, 0, $tg, 0) if $search_pos eq 'bottom'; $column_panel->SetSizer($column_sizer); $column_panel->SetAutoLayout(1); my $win_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $win_sizer->Add( $right_splitter, 1, $tg, 0 ); $win->SetSizer($win_sizer); $win->SetAutoLayout(1); $column_panel->Layout(); $center_panel->Layout(); #$win->SetBackgroundColour($tab_bar->GetBackgroundColour); Kephra::EventTable::thaw ( qw(app.splitter.right.changed app.splitter.bottom.changed) ); Kephra::App::SearchBar::show(); Kephra::App::Panel::Notepad::show(); Kephra::App::Panel::Output::show(); } sub OnInit { use Benchmark (); my $t0 = new Benchmark if $Kephra::BENCHMARK; my $app = shift; _ref($app); #setup_logging(); Wx::InitAllImageHandlers(); # 2'nd splashscreen can close when app is ready, now called from Kephra.pm my $splashscreen = splashscreen('interface/icon/splash/start_kephra.jpg'); my $frame = Kephra::App::Window::create(); Kephra::Document::Data::create_slot(0); Kephra::App::TabBar::create(); my $ep = Kephra::App::TabBar::add_edit_tab(0); Kephra::Document::Data::set_current_nr(0); Kephra::Document::Data::set_previous_nr(0); Kephra::Document::Data::set_value('buffer',1); Kephra::Document::Data::set_value('modified', 0); Kephra::Document::Data::set_value('loaded', 0); #Kephra::Plugin::load_all(); #$main::logger->debug("init app pntr"); print " init app:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t0 ) ), "\n" if $Kephra::BENCHMARK; my $t1 = new Benchmark; #$main::logger->debug("glob cfg load"); print " glob cfg load:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t1 ) ), "\n" if $Kephra::BENCHMARK; my $t2 = new Benchmark; if (Kephra::Config::Global::autoload()) { Kephra::App::EditPanel::apply_settings_here($ep); Kephra::EventTable::freeze_all(); print " configs eval:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t2 ) ), "\n" if $Kephra::BENCHMARK; my $t3 = new Benchmark; Kephra::File::Session::autoload(); Kephra::EventTable::thaw_all(); Kephra::Edit::Search::load_search_data(); Kephra::Document::add($_) for @ARGV; print " file session:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t3 ) ), "\n" if $Kephra::BENCHMARK; my $t4 = new Benchmark; print " event table:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t4 ) ), "\n" if $Kephra::BENCHMARK; Kephra::App::EditPanel::gets_focus(); Kephra::Edit::_let_caret_visible(); $frame->Show(1); $splashscreen->Destroy(); print "app startet:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t0 ) ), "\n" if $Kephra::BENCHMARK; 1; # everything is good } else { $app->ExitMainLoop(1); } } sub exit { Kephra::EventTable::stop_timer(); if (Kephra::Dialog::save_on_exit() eq 'cancel') { Kephra::EventTable::start_timer(); return; } exit_unsaved(); } sub exit_unsaved { my $t0 = new Benchmark; Kephra::EventTable::stop_timer(); Kephra::File::Session::autosave(); Kephra::File::History::save(); Kephra::Config::Global::autosave(); Kephra::Config::set_xp_style(); # Kephra::App::Window::_ref()->Show(0); Kephra::App::Window::destroy(); # close window Wx::wxTheClipboard->Flush; # set copied text free to the global Clipboard print "shut down in:", Benchmark::timestr( Benchmark::timediff( new Benchmark, $t0 ) ), "\n" if $Kephra::BENCHMARK; } sub raw_exit { Wx::Window::Destroy(shift) } #sub new_instance { system("kephra.exe") } # wxNullAcceleratorTable 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/0000755000175000017500000000000011633700043017271 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Config.pm0000644000175000017500000000741611573645310021054 0ustar rizlarizlapackage Kephra::Dialog::Config; our $VERSION = '0.18'; use strict; use warnings; my $dialog; sub _ref { $dialog = ref $_[0] eq 'Wx::Dialog' ? $_[0] : $dialog } sub main { if ( !$Kephra::temp{dialog}{config}{active} or $Kephra::temp{dialog}{config}{active} == 0 ) { # init search and replace dialog $Kephra::temp{dialog}{config}{active} = 1; my $frame = Kephra::App::Window::_ref(); my $config = Kephra::API::settings()->{dialog}{config}; my $l18n = Kephra::Config::Localisation::strings(); my $d_l10n = $l18n->{dialog}{config}; my $g_l10n = $l18n->{dialog}{general}; my $m_l10n = $l18n->{app}{menu}; my $cl_l10n = $l18n->{commandlist}{label}; my $d_style= &Wx::wxNO_FULL_REPAINT_ON_RESIZE | &Wx::wxSYSTEM_MENU | &Wx::wxCAPTION | &Wx::wxMINIMIZE_BOX | &Wx::wxCLOSE_BOX; #$d_style |= &Wx::wxSTAY_ON_TOP if Kephra::API::settings()->{app}{window}{stay_on_top}; # my $staticbox = Wx::StaticBox->new( $panel, -1, 'Wx::StaticBox' ); # my $button = Wx::Button->new( $panel, -1, 'Button 3' ); # my $nsz = Wx::StaticBoxSizer->new( $staticbox, &Wx::wxVERTICAL); # $panel->SetSizer($nsz); # $nsz->Add( $button, 0, &Wx::wxGROW|&Wx::wxTOP, 5 ); # making window & main design my $d = Wx::Dialog->new( $frame, -1, ' '.$d_l10n->{title}, [ $config->{position_x}, $config->{position_y} ], [ 470, 560 ], $d_style); my $icon_bmp = Kephra::CommandList::get_cmd_property ('view-dialog-config', 'icon'); my $icon = Wx::Icon->new; $icon->CopyFromBitmap($icon_bmp) if ref $icon_bmp eq 'Wx::Bitmap'; $d->SetIcon($icon); _ref($d); # main panel #my $mainpanel = Wx::Panel->new( $d, -1, [-1,-1], [-1,-1] ); # tree of categories my $cfg_tree = Wx::Treebook->new( $d, -1, [-1,-1], [-1,-1], &Wx::wxBK_LEFT); my ($panel); # general settings my $pg = $panel->{general} = Wx::Panel->new( $cfg_tree ); $pg->{save} = Wx::StaticText->new( $pg, -1, 'Speichern'); $pg->{sizer} = Wx::BoxSizer->new(&Wx::wxVERTICAL); $pg->{sizer}->Add( $pg->{save} , 0, &Wx::wxLEFT, 5 ); $pg->SetSizer( $pg->{sizer} ); $cfg_tree->AddPage( $panel->{general}, 'General', 1); $panel->{Interface} = $cfg_tree->AddPage( undef, 'Interface', 1); $panel->{file} = $cfg_tree->AddPage( undef, 'File', 1); $cfg_tree->AddSubPage( undef, 'Defaults', 1); $cfg_tree->AddSubPage( undef, 'Save', 1); $cfg_tree->AddSubPage( undef, 'Endings', 1); $cfg_tree->AddSubPage( undef, 'Session', 1); $cfg_tree->AddPage( undef, 'Editpanel', 1); # button line $d->{apply_button} = Wx::Button->new ( $d, -1, $g_l10n->{apply} ); $d->{cancel_button} = Wx::Button->new( $d, -1, $g_l10n->{cancel}); Wx::Event::EVT_BUTTON( $d, $d->{apply_button}, sub {shift->Close} ); Wx::Event::EVT_BUTTON( $d, $d->{cancel_button},sub {shift->Close} ); my $button_sizer = Wx::BoxSizer->new(&Wx::wxHORIZONTAL); $button_sizer->Add( $d->{apply_button}, 0, &Wx::wxRIGHT, 14 ); $button_sizer->Add( $d->{cancel_button}, 0, &Wx::wxRIGHT, 22 ); # assembling lines my $d_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $d_sizer->Add( $cfg_tree, 1, &Wx::wxEXPAND|&Wx::wxALL, 14); $d_sizer->Add( $button_sizer, 0, &Wx::wxBOTTOM|&Wx::wxALIGN_RIGHT, 12); # release $d->SetSizer($d_sizer); $d->SetAutoLayout(1); $d->Show(1); Wx::Window::SetFocus( $d->{cancel_button} ); Wx::Event::EVT_CLOSE( $d, \&quit_config_dialog ); } else { my $d = _ref(); $d->Iconize(0); $d->Raise; } } # helper sub td { Wx::TreeItemData->new( $_[0] ) } sub quit_config_dialog { my ( $win, $event ) = @_; my $cfg = Kephra::API::settings()->{dialog}{config}; if ( $cfg->{save_position} == 1 ) { ( $cfg->{position_x}, $cfg->{position_y} ) = $win->GetPositionXY; } $Kephra::temp{dialog}{config}{active} = 0; $win->Destroy; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Keymap.pm0000644000175000017500000000400011573645310021057 0ustar rizlarizlapackage Kephra::Dialog::Keymap; our $VERSION = '0.02'; use strict; use warnings; sub keymap { my $frame = shift; elements::proton::show::keyboard_map(); return 0; if ( !$Kephra::temp{keymap}{dialog_active} || $Kephra::temp{keymap}{dialog_active} == 0 ) { # init win mit grunddesign $Kephra::temp{'keymap'}{'dialog_active'} = 1; my $l18n = Kephra::Localisation::strings()->{dialogs}{keyboard_map}; my $keymap_win = Wx::Frame->new( $frame, -1, ' ' . $l18n->{title}, [ 10, 10 ], [ 420, 460 ], &Wx::wxNO_FULL_REPAINT_ON_RESIZE | &Wx::wxSYSTEM_MENU | &Wx::wxCAPTION | &Wx::wxMINIMIZE_BOX | &Wx::wxCLOSE_BOX | &Wx::wxRESIZE_BORDER, ); $frame->{keymap_win} = $keymap_win; Kephra::App::Window::load_icon( $keymap_win, Kephra::API::settings()->{main}{icon} ); $keymap_win->SetBackgroundColour(&Wx::wxWHITE); #my $keymap_ground = Wx::Panel->new($keymap_win, -1, [0,0], [-1,-1], ,); my $keymap_label = Wx::Panel->new( $keymap_win, -1, [ 0, 0 ], [ 100, 22 ],, ); my $sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); #inhalt my $keymap_list = Wx::Grid->new( $keymap_win, -1, [ 0, 22 ], [ -1, -1 ], &Wx::wxWANTS_CHARS,, ); $keymap_list->AppendCols( 3, 0 ); $keymap_list->AppendRows( 3, 0 ); $keymap_list->SetColLabelValue( 1, 'Beschreibung' ); $keymap_list->SetRowLabelValue( 2, 'Kombintion' ); #$keymap_list->AppendRows(3, 1);SetColLabelValue and SetRowLabelValue $sizer->Add( $keymap_label, 0, &Wx::wxTOP | &Wx::wxGROW, 0 ); $sizer->Add( $keymap_list, 1, &Wx::wxBOTTOM | &Wx::wxGROW, 0 ); $keymap_win->SetSizer($sizer); $keymap_win->SetAutoLayout(1); $keymap_win->Centre(&Wx::wxBOTH); $keymap_win->Show(1); Wx::Event::EVT_CLOSE( $keymap_win, \&quit_keymap_dialog ); sub quit_keymap_dialog { my ( $win, $event ) = @_; $Kephra::temp{'keymap'}{'dialog_active'} = 0; $win->Destroy(); } } else { $frame->{'keymap_win'}->Iconize(0); $frame->{'keymap_win'}->Raise(); } } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Exit.pm0000644000175000017500000001055711573645310020560 0ustar rizlarizlapackage Kephra::Dialog::Exit; our $VERSION = '0.07'; use strict; use warnings; sub save_on_exit { # checking settings if i should save or quit without question my $save = Kephra::API::settings()->{file}{save}{b4_quit}; if ($save eq '0') { return} elsif ($save eq '1') {&Kephra::File::save_all; return} # count unsaved dacuments? my $unsaved_docs = 0; for ( @{ Kephra::Document::Data::all_nr() } ) { $unsaved_docs++ if Kephra::Document::Data::get_attribute('modified', $_) } # if so... if ($unsaved_docs) { my $d18n = Kephra::Config::Localisation::strings()->{dialog}; my $dialog = $Kephra::app{dialog}{exit} = Wx::Dialog->new( Kephra::App::Window::_ref(), -1, $d18n->{file}{quit_unsaved}, [-1,-1], [-1,-1], &Wx::wxNO_FULL_REPAINT_ON_RESIZE | &Wx::wxCAPTION | &Wx::wxSTAY_ON_TOP, ); # starting dialog layout my $v_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); my $h_sizer = Wx::BoxSizer->new(&Wx::wxHORIZONTAL); my $button_sizer = Wx::GridSizer->new( 1, 4, 0, 25 ); my ( @temp_sizer, @check_boxes ); my ( $border, $b_border, $max_width ) = ( 10, 20, 0 ); my ( $x_size, $y_size ); my ( $file_name, $check_label ); my $align_lc = &Wx::wxLEFT | &Wx::wxALIGN_CENTER_VERTICAL; my $l10n = Kephra::Config::Localisation::strings()->{dialog}{general}; # generating checkbox list of unsaved files for ( @{ Kephra::Document::Data::all_nr() } ) { if ( Kephra::Document::Data::get_attribute('modified', $_) ) { $file_name = Kephra::Document::Data::get_file_path($_) || Kephra::Config::Localisation::strings()->{app}{general}{untitled}; $check_label = 1 + $_ . ' ' . $file_name; $check_boxes[$_] = Wx::CheckBox->new($dialog, -1, $check_label); $check_boxes[$_]->SetValue(1); $temp_sizer[$_] = Wx::BoxSizer->new(&Wx::wxVERTICAL); $temp_sizer[$_]->Add($check_boxes[$_], 0, $align_lc, $border ); $v_sizer->Add( $temp_sizer[$_], 0, &Wx::wxTOP, $border ); $temp_sizer[$_]->Fit($dialog); ( $x_size, $y_size ) = $dialog->GetSizeWH; $max_width = $x_size if $x_size > $max_width; } } # seperator, label, buttons my $base_line = Wx::StaticLine->new( $dialog, -1, [-1,-1],[2000,2], &Wx::wxLI_HORIZONTAL); my $save_label = Wx::StaticText->new($dialog, -1, $l10n->{save} . ' : '); $dialog->{save_all} = Wx::Button->new($dialog, -1, $l10n->{all} ); $dialog->{save_sel} = Wx::Button->new($dialog, -1, $l10n->{selected} ); $dialog->{save_none}= Wx::Button->new($dialog, -1, $l10n->{none} ); $dialog->{cancel} = Wx::Button->new($dialog, -1, $l10n->{cancel} ); # events Wx::Event::EVT_BUTTON( $dialog, $dialog->{save_all}, sub { &quit_dialog; &Kephra::File::save_all} ); Wx::Event::EVT_BUTTON( $dialog, $dialog->{save_sel}, sub {&quit_dialog; save_selected(\@check_boxes)} ); Wx::Event::EVT_BUTTON( $dialog, $dialog->{save_none},sub {quit_dialog()} ); Wx::Event::EVT_BUTTON( $dialog, $dialog->{cancel}, sub { &quit_dialog; $dialog->{cancel} = 1; } ); Wx::Event::EVT_CLOSE( $dialog, sub {quit_dialog()}); # assembling the fix bottom of dialog layout $h_sizer->Add( $save_label, 0, $align_lc, $border ); $h_sizer->Add( $dialog->{save_all}, 0, $align_lc, $border + $b_border ); $h_sizer->Add( $dialog->{save_sel}, 0, $align_lc, $b_border ); $h_sizer->Add( $dialog->{save_none}, 0, $align_lc, $b_border ); $h_sizer->Add( $dialog->{cancel}, 0, $align_lc, $b_border ); $v_sizer->Add( $base_line, 0, &Wx::wxTOP | &Wx::wxCENTER, $border ); $v_sizer->Add( $h_sizer, 0, &Wx::wxTOP, $border ); # figuring dialog size $dialog->SetSizer($v_sizer); $v_sizer->Fit($dialog); ( $x_size, $y_size ) = $dialog->GetSizeWH; $h_sizer->Fit($dialog); ( $x_size, ) = $dialog->GetSizeWH; $max_width = $x_size if ( $x_size > $max_width ); $dialog->SetSize( $max_width + $b_border, $y_size + $border ); # go $dialog->SetAutoLayout(1); $dialog->CenterOnScreen; $dialog->ShowModal; return 'cancel' if $dialog->{cancel} == 1; } } # internal subs ################ sub save_selected { my @check_boxes = @{ shift; }; for ( 0 .. $#check_boxes ) { Kephra::File::_save_nr($_) if ref $check_boxes[$_] ne '' and $check_boxes[$_]->GetValue; } } sub quit_dialog { my ( $win, $event ) = @_; $Kephra::app{dialog}{exit}->Destroy; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Info.pm0000644000175000017500000000346211573645310020537 0ustar rizlarizlapackage Kephra::Dialog::Info; our $VERSION = '0.08'; use strict; use warnings; sub combined { return simple(); my $info_win = Wx::Frame->new( Kephra::App::Window::_ref(), -1, " Info About Kephra", [ 100, 100 ], [ 460, 260 ], &Wx::wxSYSTEM_MENU | &Wx::wxCAPTION | &Wx::wxMINIMIZE_BOX | &Wx::wxCLOSE_BOX, ); Kephra::App::Window::load_icon( $info_win, Kephra::API::settings()->{app}{window}{icon} ); $info_win->SetBackgroundColour( Wx::Colour->new( 0xed, 0xeb, 0xdb ) ); # Wx::HyperlinkCtrl->new($win,-1,label,url,pos,size,wxHL_CONTEXTMENU) $info_win->Centre(&Wx::wxBOTH); $info_win->Show(1); } sub simple { my $info = Kephra::Config::Localisation::strings()->{dialog}{info}; my $sciv = 'Scintilla '; my $v = substr(&Wx::wxVERSION_STRING ,-5); if ($v eq '2.4.2'){$sciv .= '1.54'} elsif ($v eq '2.6.2'){$sciv .= '1.62'} elsif ($v eq '2.6.3'){$sciv .= '1.62'} elsif ($v eq '2.8.4'){$sciv .= '1.70'} elsif ($v eq '2.8.7'){$sciv .= '1.70'} elsif ($v eq '.8.10'){$sciv .= '1.70'} my $content = "Kephra, $info->{motto}\n" . $info->{mady_by} . " Herbert Breunung\n\n" . $info->{licensed} . " GPL (GNU Public License) \n" . " ( $info->{detail} \n $info->{more} ) \n" . "$info->{homepage} http://kephra.sf.net\n\n" . $info->{contains} . ": \n" . " - Perl ". substr($],0,1).'.'.int(substr($],3,2)).'.'.substr($],7,1)."\n" . " - WxPerl $Wx::VERSION $info->{wrappes} \n" . " - " . &Wx::wxVERSION_STRING . " $info->{and} $sciv\n" . " - Config::General $Config::General::VERSION \n" . " - YAML::Tiny $YAML::Tiny::VERSION \n" ."\n\n $info->{dedication}" . ""; my $title = "$info->{title} $Kephra::NAME $Kephra::VERSION"; $title .= ' pl ' . $Kephra::PATCHLEVEL if $Kephra::PATCHLEVEL; Kephra::Dialog::msg_box( $content, $title ); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Color.pm0000644000175000017500000000157711573645310020727 0ustar rizlarizlapackage Kephra::Dialog::Color; our $VERSION = '0.02'; use strict; use warnings; sub choose_color { my $ep = &Kephra::App::EditPanel::_ref; my $color = $ep->GetSelectedText || '#ffffff'; $color = sprintf ("%02x%02x%02x", ($color =~ /(\d+).(\d+).(\d+)/)) if index $color, ',' or index $color, '.'; $color = sprintf "#%s", $color unless index( $color, '#' ) == 0; my $color_obj = Wx::Colour->new( $color ); my $data = Wx::ColourData->new; $data->SetColour( $color_obj ); $data->SetChooseFull( 1 ); my $dialog = Wx::ColourDialog->new( Kephra::App::Window::_ref(), $data ); if( $dialog->ShowModal != &Wx::wxID_CANCEL ) { my $data = $dialog->GetColourData; my $ret_color = $data->GetColour; my $html_color = $ret_color->GetAsString( &Wx::wxC2S_HTML_SYNTAX ); $html_color =~ s/^#//; $ep->ReplaceSelection( $html_color ); } } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Search.pm0000644000175000017500000004404211573645310021050 0ustar rizlarizlapackage Kephra::Dialog::Search; our $VERSION = '0.27'; use strict; use warnings; sub _ID { 'search_dialog' } my $ref; sub _ref { $ref = ref $_[0] eq 'Wx::Dialog' ? $_[0] : $ref } my $highlight_search; # set 1 if searchbar turns red my $active; my %color = ( norm_fore => Wx::Colour->new( 0x00, 0x00, 0x55 ), norm_back => Wx::Colour->new( 0xff, 0xff, 0xff ), alert_fore => Wx::Colour->new( 0xff, 0x33, 0x33 ), alert_back => Wx::Colour->new( 0xff, 0xff, 0xff ), ); sub find { # call as find dialog my $d = ready(); my $selection = Kephra::App::EditPanel::_ref()->GetSelectedText; if ($selection and not $d->{selection_radio}->GetValue ) { Kephra::Edit::Search::set_find_item( $selection ); $d->{find_input}->SetValue( $selection ); } else {$d->{find_input}->SetValue( Kephra::Edit::Search::get_find_item())} $d->{replace_input}->SetValue( Kephra::Edit::Search::get_replace_item() ); Wx::Window::SetFocus( $d->{find_input} ); } sub replace { # call as replace dialog my $d = ready(); my $selection = Kephra::App::EditPanel::_ref()->GetSelectedText; if ( length $selection > 0 and not $d->{selection_radio}->GetValue ) { Kephra::Edit::Search::set_replace_item( $selection ); $d->{replace_input}->SetValue( $selection ); } else { $d->{replace_input}->SetValue(Kephra::Edit::Search::get_replace_item()); } $d->{find_input}->SetValue( $selection ); Wx::Window::SetFocus( $d->{replace_input} ); } sub ready { # display find and replace dialog if ( not $active ) { # prepare some internal var and for better handling my $edit_panel = Kephra::App::EditPanel::_ref(); my $attr = Kephra::Edit::Search::_attributes(); my $dsettings = Kephra::API::settings()->{dialog}{search}; my $l18n = Kephra::API::localisation(); my $label = $l18n->{dialog}{search}{label}; my $hint = $l18n->{dialog}{search}{hint}; my @find_history = (); my @replace_history = (); my $d_style = &Wx::wxNO_FULL_REPAINT_ON_RESIZE | &Wx::wxSYSTEM_MENU | &Wx::wxCAPTION | &Wx::wxMINIMIZE_BOX | &Wx::wxCLOSE_BOX; $d_style |= &Wx::wxSTAY_ON_TOP if $Kephra::config{app}{window}{stay_on_top}; $dsettings->{position_x} = 10 if $dsettings->{position_x} < 0; $dsettings->{position_y} = 10 if $dsettings->{position_y} < 0; $dsettings->{width} = Wx::wxMSW() ? 436 : 496; if ( Kephra::Edit::Search::_history()->{use} ) { @find_history = @{ Kephra::Edit::Search::get_find_history() }; @replace_history = @{ Kephra::Edit::Search::get_replace_history() }; } # init search and replace dialog and release Kephra::Edit::Search::_refresh_search_flags(); $active = 1; $Kephra::temp{dialog}{active}++; $highlight_search = 1; # make dialog window and main panel my $d = Wx::Dialog->new( Kephra::App::Window::_ref(), -1, $l18n->{dialog}{search}{title}, [ $dsettings->{position_x}, $dsettings->{position_y} ], [ -1 , 268 ], $d_style ); my $icon = Wx::Icon->new; my $icon_bmp = Kephra::CommandList::get_cmd_property ('view-dialog-find', 'icon'); $icon->CopyFromBitmap($icon_bmp) if ref $icon_bmp eq 'Wx::Bitmap'; $d->SetIcon($icon); $d->SetTransparent(1 - int ($dsettings->{transparency} * 255)) if defined $dsettings->{transparency}; _ref($d); # input boxes with labels $d->{find_label} = Wx::StaticText->new($d, -1, $label->{search_for} ); $d->{replace_label}= Wx::StaticText->new($d, -1, $label->{replace_with} ); $d->{find_input} = Wx::ComboBox->new ($d, -1,'', [-1,-1], [334,-1], [@find_history], &Wx::wxTE_PROCESS_ENTER ); $d->{find_input}->SetDropTarget ( Kephra::Edit::Search::InputTarget->new($d->{find_input}, 'find')); $d->{replace_input} = Wx::ComboBox->new ($d, -1, '', [-1,-1], [334,-1], [@replace_history], &Wx::wxTE_PROCESS_ENTER); $d->{replace_input}->SetDropTarget ( Kephra::Edit::Search::InputTarget->new($d->{replace_input}, 'replace')); $d->{sep_line} = Wx::StaticLine->new( $d, -1, [0,0], [420,1], &Wx::wxLI_HORIZONTAL,); # search attributes checkboxes $d->{inc_box} = Wx::CheckBox->new($d, -1, $label->{incremental}); $d->{case_box} = Wx::CheckBox->new($d, -1, $label->{case}); $d->{begin_box}= Wx::CheckBox->new($d, -1, $label->{word_begin}); $d->{word_box} = Wx::CheckBox->new($d, -1, $label->{whole_word}); $d->{regex_box}= Wx::CheckBox->new($d, -1, $label->{regex}); $d->{wrap_box} = Wx::CheckBox->new($d, -1, $label->{auto_wrap}); $d->{inc_box} ->SetValue( $attr->{incremental} ); $d->{case_box} ->SetValue( $attr->{match_case} ); $d->{begin_box}->SetValue( $attr->{match_word_begin} ); $d->{word_box} ->SetValue( $attr->{match_whole_word} ); $d->{regex_box}->SetValue( $attr->{match_regex} ); $d->{wrap_box} ->SetValue( $attr->{auto_wrap} ); # range radio group my $range_box = Wx::StaticBox->new($d, -1, $label->{search_in}, [-1,-1], [-1,-1], &Wx::wxSIMPLE_BORDER | &Wx::wxRAISED_BORDER, ); $d->{selection_radio}= Wx::RadioButton->new($d, -1, $label->{selection}); $d->{document_radio} = Wx::RadioButton->new($d, -1, $label->{document} ); $d->{all_open_radio} = Wx::RadioButton->new($d, -1, $label->{open_documents} ); ################### disable # buttons my $bmp = \&Kephra::Config::icon_bitmap; $d->{replace_back}=Wx::BitmapButton->new($d,-1,&$bmp('replace-previous.xpm')); $d->{replace_fore}=Wx::BitmapButton->new($d,-1,&$bmp('replace-next.xpm')); $d->{backward_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-previous.xpm')); $d->{foreward_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-next.xpm')); $d->{fast_back_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-fast-backward.xpm')); $d->{fast_fore_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-fast-forward.xpm')); $d->{first_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-first.xpm')); $d->{last_button}=Wx::BitmapButton->new($d,-1,&$bmp('go-last.xpm')); $d->{search_button} = Wx::Button->new($d, -1, $label->{search} ); $d->{replace_button}= Wx::Button->new($d, -1, $label->{replace_all} ); $d->{confirm_button}= Wx::Button->new($d, -1, $label->{with_confirmation} ); $d->{close_button} = Wx::Button->new($d, -1, $l18n->{dialog}{general}{close} ); #tooltips / hints if ( $dsettings->{tooltips} ) { $d->{foreward_button}->SetToolTip( $hint->{forward}); $d->{backward_button}->SetToolTip( $hint->{backward}); $d->{fast_fore_button}->SetToolTip( $hint->{fast_forward}); $d->{fast_back_button}->SetToolTip( $hint->{fast_backward}); $d->{first_button}->SetToolTip( $hint->{document_start}); $d->{last_button}->SetToolTip( $hint->{document_end}); $d->{replace_fore}->SetToolTip( $hint->{replace_forward}); $d->{replace_back}->SetToolTip( $hint->{replace_backward}); $d->{case_box}->SetToolTip( $hint->{match_case}); $d->{begin_box}->SetToolTip( $hint->{match_word_begin}); $d->{word_box}->SetToolTip( $hint->{match_whole_word}); $d->{regex_box}->SetToolTip( $hint->{match_regex}); $d->{wrap_box}->SetToolTip( $hint->{auto_wrap}); $d->{inc_box}->SetToolTip( $hint->{incremental}); } # eventhandling Wx::Event::EVT_KEY_DOWN($d->{find_input}, \&find_input_keyfilter ); Wx::Event::EVT_KEY_DOWN($d->{replace_input}, \&replace_input_keyfilter ); Wx::Event::EVT_TEXT($d, $d->{find_input}, \&incremental_search ); Wx::Event::EVT_TEXT($d, $d->{replace_input}, sub { my $input = $d->{replace_input}; my $pos = $input->GetInsertionPoint; Kephra::Edit::Search::set_replace_item( $input->GetValue ); $input->SetInsertionPoint($pos); }); Wx::Event::EVT_CHECKBOX($d, $d->{case_box}, sub { $$attr{match_case} = $d->{case_box}->GetValue; Kephra::Edit::Search::_refresh_search_flags(); } ); Wx::Event::EVT_CHECKBOX($d, $d->{begin_box}, sub { $$attr{match_word_begin} = $d->{begin_box}->GetValue; Kephra::Edit::Search::_refresh_search_flags(); } ); Wx::Event::EVT_CHECKBOX($d, $d->{word_box}, sub { $$attr{match_whole_word} = $d->{word_box}->GetValue; Kephra::Edit::Search::_refresh_search_flags(); } ); Wx::Event::EVT_CHECKBOX($d, $d->{regex_box}, sub { $$attr{match_regex} = $d->{regex_box}->GetValue; Kephra::Edit::Search::_refresh_search_flags(); } ); Wx::Event::EVT_CHECKBOX($d, $d->{wrap_box}, sub { $$attr{auto_wrap} = $d->{wrap_box}->GetValue; } ); Wx::Event::EVT_CHECKBOX($d, $d->{inc_box}, sub { $$attr{incremental} = $d->{inc_box}->GetValue; } ); Wx::Event::EVT_RADIOBUTTON($d, $d->{selection_radio},sub {$attr->{in} = 'selection'}); Wx::Event::EVT_RADIOBUTTON($d, $d->{document_radio}, sub {$attr->{in} = 'document'}); Wx::Event::EVT_RADIOBUTTON($d, $d->{all_open_radio}, sub {$attr->{in} = 'open_docs'}); Wx::Event::EVT_BUTTON($d, $d->{foreward_button}, sub { &no_sel_range; Kephra::Edit::Search::find_next(); } ); Wx::Event::EVT_BUTTON($d, $d->{backward_button}, sub { &no_sel_range; Kephra::Edit::Search::find_prev(); } ); Wx::Event::EVT_BUTTON($d, $d->{fast_fore_button}, sub { &no_sel_range; Kephra::Edit::Search::fast_fore(); } ); Wx::Event::EVT_BUTTON($d, $d->{fast_back_button}, sub { &no_sel_range; Kephra::Edit::Search::fast_back(); } ); Wx::Event::EVT_BUTTON($d, $d->{first_button}, sub { &no_sel_range; Kephra::Edit::Search::find_first(); } ); Wx::Event::EVT_BUTTON($d, $d->{last_button}, sub { &no_sel_range; Kephra::Edit::Search::find_last(); } ); Wx::Event::EVT_BUTTON($d, $d->{replace_fore}, sub { &no_sel_range; Kephra::Edit::Search::replace_fore(); } ); Wx::Event::EVT_BUTTON($d, $d->{replace_back}, sub { &no_sel_range; Kephra::Edit::Search::replace_back(); } ); Wx::Event::EVT_BUTTON($d, $d->{search_button}, sub{ &Kephra::Edit::Search::find_first } ); Wx::Event::EVT_BUTTON($d, $d->{replace_button}, sub{ &Kephra::Edit::Search::replace_all } ); Wx::Event::EVT_BUTTON($d, $d->{confirm_button}, sub{ &Kephra::Edit::Search::replace_confirm } ); Wx::Event::EVT_BUTTON($d, $d->{close_button}, sub{ shift->Close() } ); Wx::Event::EVT_CLOSE( $d, \&quit_search_dialog ); my $ID = _ID(); my $add_call = \&Kephra::EventTable::add_call; &$add_call( 'find', $ID.'_color_refresh', \&colour_find_input, $ID); &$add_call( 'find.item.changed', $ID, sub { $d->{find_input}->SetValue(Kephra::Edit::Search::get_find_item()); $d->{find_input}->SetInsertionPointEnd; }, $ID); &$add_call( 'replace.item.changed', $ID, sub { $d->{replace_input}->SetValue(Kephra::Edit::Search::get_replace_item()); $d->{replace_input}->SetInsertionPointEnd; }, $ID); Kephra::EventTable::add_call('find.item.history.changed', $ID, sub { Kephra::App::_ref()->Yield(); my $cb = $d->{find_input}; $Kephra::temp{dialog}{search}{control} = 1; $cb->Clear(); $cb->Append($_) for @{ Kephra::Edit::Search::get_find_history() }; $cb->SetValue( Kephra::Edit::Search::get_find_item() ); $cb->SetInsertionPointEnd; $Kephra::temp{dialog}{search}{control} = 0; }, $ID); Kephra::EventTable::add_call('replace.item.history.changed', $ID, sub { my $cb = $d->{replace_input}; $Kephra::temp{dialog}{search}{control} = 1; $cb->Clear(); $cb->Append($_) for @{ Kephra::Edit::Search::get_replace_history() }; $cb->SetValue( Kephra::Edit::Search::get_replace_item() ); $cb->SetInsertionPointEnd; $Kephra::temp{dialog}{search}{control} = 0; }, $ID); # detecting and selecting search range # if selection is just on one line if ( $edit_panel->LineFromPosition( $edit_panel->GetSelectionStart ) != $edit_panel->LineFromPosition( $edit_panel->GetSelectionEnd ) ) { $attr->{in} = 'selection'; $d->{selection_radio}->SetValue(1); } elsif ( $attr->{in} eq 'open_docs' ) { $d->{all_open_radio}->SetValue(1); } else { $attr->{in} = 'document'; $d->{document_radio}->SetValue(1); } # assembling my $aborder = 15; my $option_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $option_sizer->Add( $d->{inc_box}, 0, &Wx::wxTOP, 0 ); $option_sizer->Add( $d->{case_box}, 0, &Wx::wxTOP, $aborder ); $option_sizer->Add( $d->{begin_box}, 0, &Wx::wxTOP, 5 ); $option_sizer->Add( $d->{word_box}, 0, &Wx::wxTOP, 5 ); $option_sizer->Add( $d->{regex_box}, 0, &Wx::wxTOP, 5 ); my $rbz = Wx::StaticBoxSizer->new( $range_box, &Wx::wxVERTICAL ); $rbz->Add( $d->{selection_radio}, 1, &Wx::wxTOP, 5 ); $rbz->Add( $d->{document_radio}, 1, &Wx::wxTOP, 5 ); $rbz->Add( $d->{all_open_radio}, 1, &Wx::wxTOP, 5 ); my $range_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $range_sizer->Add( $d->{wrap_box}, 0, &Wx::wxTOP|&Wx::wxALIGN_CENTER_HORIZONTAL, 0 ); $range_sizer->Add( $rbz, 0, &Wx::wxGROW | &Wx::wxTOP, 10 ); my $pad_grid = Wx::FlexGridSizer->new( 4, 2, 0 , 1 ); $pad_grid->Add( $d->{replace_back}, 0, &Wx::wxTOP|&Wx::wxBOTTOM, 10); $pad_grid->Add( $d->{replace_fore}, 0, &Wx::wxTOP|&Wx::wxBOTTOM, 10); $pad_grid->Add( $d->{backward_button}, 0, ,0); $pad_grid->Add( $d->{foreward_button}, 0, ,0); $pad_grid->Add( $d->{fast_back_button},0, ,0); $pad_grid->Add( $d->{fast_fore_button},0, ,0); $pad_grid->Add( $d->{first_button}, 0, ,0); $pad_grid->Add( $d->{last_button}, 0, &Wx::wxRIGHT, $aborder); my $pads_sizer = Wx::BoxSizer->new(&Wx::wxHORIZONTAL); $pads_sizer->Add( $option_sizer,0,&Wx::wxALIGN_LEFT ,0); $pads_sizer->Add( $range_sizer ,1,&Wx::wxALIGN_CENTER|&Wx::wxLEFT|&Wx::wxRIGHT|&Wx::wxGROW ,20); $pads_sizer->Add( $pad_grid ,0,&Wx::wxALIGN_RIGHT ,0); my $button_sizer = Wx::BoxSizer->new(&Wx::wxHORIZONTAL); $button_sizer->Add( $d->{search_button}, 0, &Wx::wxLEFT, $aborder ); $button_sizer->Add( $d->{replace_button}, 0, &Wx::wxLEFT, 10 ); $button_sizer->Add( $d->{confirm_button}, 0, &Wx::wxLEFT, 10 ); $button_sizer->AddStretchSpacer; $button_sizer->Add( $d->{close_button}, 0, &Wx::wxALIGN_RIGHT|&Wx::wxRIGHT, 15 ); my $b_grid = Wx::FlexGridSizer->new( 3, 2, 10, 0 ); $b_grid->Add($d->{find_label}, 0, &Wx::wxLEFT | &Wx::wxRIGHT | &Wx::wxALIGN_CENTER_VERTICAL | &Wx::wxALIGN_RIGHT, 10); $b_grid->Add($d->{find_input}, 1, &Wx::wxRIGHT, $aborder); $b_grid->Add($d->{replace_label}, 0, &Wx::wxLEFT | &Wx::wxRIGHT | &Wx::wxALIGN_CENTER_VERTICAL | &Wx::wxALIGN_RIGHT, 10); $b_grid->Add($d->{replace_input}, 1, &Wx::wxRIGHT, $aborder); $b_grid->AddSpacer(5); $b_grid->Add($pads_sizer, 1, &Wx::wxTOP|&Wx::wxGROW, 5); my $d_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $d_sizer->Add($b_grid, 1, &Wx::wxTOP , $aborder); $d_sizer->Add($d->{sep_line}, 0, &Wx::wxTOP | &Wx::wxALIGN_CENTER_HORIZONTAL | &Wx::wxGROW, 8); $d_sizer->Add($button_sizer, 0, &Wx::wxTOP | &Wx::wxBOTTOM | &Wx::wxGROW , 9); $d->SetSizer($d_sizer); $d->Fit(); #$d->SetAutoLayout(1); # go $d->Show(1); return $d; } else { my $d = _ref(); $d->Iconize(0); $d->Raise; return $d; } } # end of dialog constuction ########################## # dialog event functions # switch back from search in text selection to search in document # because if once looked in selection the finding is selected and this # settings makes no longer sense sub no_sel_range { my $dialog = _ref(); if ( $dialog->{selection_radio}->GetValue ) { $dialog->{document_radio}->SetValue(1); Kephra::Edit::Search::_attributes()->{in} = 'document'; } #$dialog->Refresh; #$dialog->Layout(); } # find input function sub find_input_keyfilter { my ( $input, $event ) = @_; my $dialog = _ref(); my $wx_frame = $dialog->GetParent; my $key_code = $event->GetKeyCode; if ($key_code == &Wx::WXK_RETURN) { no_sel_range(); if ($event->ControlDown){Kephra::Edit::Search::find_first(); $dialog->Close; } elsif ($event->ShiftDown ){Kephra::Edit::Search::find_prev() } else {Kephra::Edit::Search::find_next() } return; } elsif ($key_code == &Wx::WXK_ESCAPE) { $dialog->Close } elsif ($key_code == &Wx::WXK_TAB){ if ( $event->ShiftDown ) { $dialog->{close_button}->SetFocus } else { $dialog->{replace_input}->SetFocus} } $event->Skip; } sub colour_find_input { my $input = _ref()->{find_input}; my $pos = $input->GetInsertionPoint; my $found_something = Kephra::Edit::Search::_find_pos() > -1 ? 1 : 0; return if $highlight_search eq $found_something; $highlight_search = $found_something; if ($found_something){ $input->SetForegroundColour( $color{norm_fore} ); $input->SetBackgroundColour( $color{norm_back} ); } else { $input->SetForegroundColour( $color{alert_fore} ); $input->SetBackgroundColour( $color{alert_back} ); } $input->SetInsertionPoint($pos); $input->Refresh; } sub incremental_search { if ( Kephra::Edit::Search::_attributes()->{incremental} and not $Kephra::temp{dialog}{search}{control} ) { my $input = _ref()->{find_input}; Kephra::Edit::Search::set_find_item($input->GetValue); Kephra::Edit::Search::first_increment(); } } # replace input function sub replace_input_keyfilter { my ($input, $event) = @_; my $dialog = _ref(); my $key_code = $event->GetKeyCode; if ($key_code == &Wx::WXK_RETURN ) { if ( $event->ControlDown ) { Kephra::Edit::Search::replace_all(); $dialog->Close; } elsif ( $event->AltDown ) { replace_confirm($dialog) } else { Kephra::Edit::Search::replace_all() } } if ( $key_code == &Wx::WXK_ESCAPE) { $dialog->Close } elsif ($key_code == &Wx::WXK_TAB){ if ( $event->ShiftDown ) { $dialog->{find_input}->SetFocus } else { $dialog->{inc_box}->SetFocus } } $event->Skip; } sub replace_all { Kephra::Edit::Search::replace_all() } sub replace_confirm { Kephra::Edit::Search::replace_confirm() } sub raise_if_active { _ref()->Raise if $active } sub quit_search_dialog { my ( $win, $event ) = @_; my $config = Kephra::API::settings()->{dialog}{search}; ($config->{position_x}, $config->{position_y} ) = $win->GetPositionXY if $config->{save_position} == 1; $active = 0; $Kephra::temp{dialog}{active}--; Kephra::EventTable::del_own_subscriptions( _ID() ); $win->Destroy(); } ####################### 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Dialog/Notify.pm0000644000175000017500000001023711573645310021112 0ustar rizlarizlapackage Kephra::Dialog::Notify; our $VERSION = '0.06'; use strict; use warnings; our $dialog; sub file_changed { my $file_nr = shift;#Kephra::Document::Data::current_nr(); my $file_path = Kephra::Document::Data::get_attribute('file_path', $file_nr); my $file_name = Kephra::Document::Data::get_attribute('name', $file_nr); my $d10n = Kephra::Config::Localisation::strings()->{dialog}; my $g10n = $d10n->{general}; #$Kephra::app{dialog}{notify}{changed} $dialog = create_raw_dialog(3); $dialog->SetTitle($file_name . ' ' . $g10n->{changed}); $dialog->{msg}->SetLabel( $d10n->{file}{file_changed_msg} ); $dialog->{filename}->SetValue($file_path); $dialog->{btn}{1}->SetLabel( $g10n->{reload}); $dialog->{btn}{2}->SetLabel( $g10n->{save_reload} ); $dialog->{btn}{3}->SetLabel( $g10n->{ignore} ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{1}, sub { quit_dialog(); Kephra::File::reload_current(); } ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{2}, sub { quit_dialog(); Kephra::File::save_copy_as(); Kephra::File::reload_current() } ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{3}, sub { quit_dialog(); } ); #Kephra::Document::Data::get_attribute('did_notify', 'ignore', $file_nr); ready_dialog($dialog); } sub file_deleted { my $file_nr = shift;#Kephra::Document::current_nr(); my $file_path = Kephra::Document::Data::get_attribute('file_path', $file_nr); my $file_name = Kephra::Document::Data::get_attribute('name', $file_nr); my $d10n = Kephra::Config::Localisation::strings()->{dialog}; my $g10n = $d10n->{general}; # $Kephra::app{dialog}{notify}{deleted} $dialog = create_raw_dialog(4); $dialog->{msg}->SetLabel( $d10n->{file}{file_deleted_msg} ); $dialog->{btn}{1}->SetLabel( $g10n->{close}); $dialog->{btn}{2}->SetLabel( $d10n->{file}{save_as} ); $dialog->{btn}{3}->SetLabel( $g10n->{save} ); $dialog->{btn}{4}->SetLabel( $g10n->{ignore} ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{1}, sub { quit_dialog(); Kephra::File::close_current_unsaved() } ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{2}, sub { quit_dialog(); Kephra::File::save_as() } ); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{3}, sub { quit_dialog(); Kephra::File::save_current() } ); $dialog->SetTitle($file_name . ' ' . $g10n->{deleted}); $dialog->{filename}->SetValue($file_path); Wx::Event::EVT_BUTTON($dialog, $dialog->{btn}{4}, sub { quit_dialog(); Kephra::Document::Data::set_attribute('did_notify', 'ignore', $file_nr); } ); ready_dialog($dialog); } sub create_raw_dialog { my $btn_count = shift || 3; my $dialog = Wx::Dialog->new( Kephra::App::Window::_ref(), -1, '', [-1,-1], [361, 145], &Wx::wxNO_FULL_REPAINT_ON_RESIZE | &Wx::wxSTAY_ON_TOP | &Wx::wxSYSTEM_MENU | &Wx::wxCAPTION | &Wx::wxCLOSE_BOX , ); Kephra::App::Window::load_icon ($dialog, Kephra::Config::filepath (Kephra::API::settings()->{app}{window}{icon})); #$dialog->SetBackgroundColour(&Wx::wxWHITE); Wx::Event::EVT_CLOSE( $dialog, \&quit_dialog ); # starting dialog layout my $h_sizer = Wx::BoxSizer->new(&Wx::wxHORIZONTAL); $dialog->{btn}{1} = Wx::Button->new( $dialog, -1, '' ); $h_sizer->Add( $dialog->{btn}{1} ,0, &Wx::wxLEFT, 0); for my $btn_nr (2 .. $btn_count) { $dialog->{btn}{$btn_nr} = Wx::Button->new( $dialog, -1, '' ); $h_sizer->Add( $dialog->{btn}{$btn_nr} ,0, &Wx::wxLEFT, 10); } $dialog->{msg} = Wx::StaticText->new($dialog, -1, ''); $dialog->{filename} = Wx::TextCtrl->new ( $dialog,-1, '', [-1,-1], [-1,-1], &Wx::wxTE_READONLY | &Wx::wxTE_CENTRE ); my $v_sizer = Wx::BoxSizer->new(&Wx::wxVERTICAL); $v_sizer->Add( $dialog->{msg} ,1, &Wx::wxCENTER | &Wx::wxTOP , 10 ); $v_sizer->Add( $dialog->{filename},0, &Wx::wxCENTER | &Wx::wxBOTTOM | &Wx::wxGROW, 10 ); $v_sizer->Add( $h_sizer ,0, &Wx::wxALL | &Wx::wxALIGN_CENTER_HORIZONTAL, 10 ); $dialog->SetSizer($v_sizer); return $dialog; } sub ready_dialog { $dialog = shift; $dialog->SetAutoLayout(1); $dialog->CenterOnScreen; $dialog->ShowModal; #$v_sizer->Fit($dialog); } sub quit_dialog { my ( $win, $event ) = @_; $dialog->Destroy(); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/0000755000175000017500000000000011633700043016612 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/App/ContextMenu.pm0000644000175000017500000000375211573645310021440 0ustar rizlarizlapackage Kephra::App::ContextMenu; our $VERSION = '0.10'; use strict; use warnings; sub get{ &Kephra::Menu::ready || Wx::Menu->new() } # sub create_all { my $config = Kephra::API::settings()->{app}{contextmenu}; my $default_file = Kephra::Config::filepath($config->{defaultfile}); my $default_menu_def = Kephra::Config::File::load($default_file); unless ($default_menu_def) { $default_menu_def = Kephra::Config::Default::contextmenus(); } for my $menu_id (keys %{$config->{id}}){ if (not ref $menu_id){ my $start_node = $config->{id}{$menu_id}; substr($start_node, 0, 1) eq '&' ? Kephra::Menu::create_dynamic($menu_id, $start_node) : do { my $menu_def = Kephra::Config::Tree::get_subtree ($default_menu_def, $start_node); Kephra::Menu::create_static ($menu_id, $menu_def); } } elsif (ref $menu_id eq 'HASH'){ my $menu = $config->{id}{$menu_id}; next unless exists $menu->{file}; my $file_name = $Kephra::temp{path}{config} . $menu->{file}; next unless -e $file_name; my $menu_def = Kephra::Config::File::load($file_name); $menu_def = Kephra::Config::Tree::get_subtree($menu_def, $menu->{node}); Kephra::Menu::create_static($menu_id, $menu_def); } } } # connect the static and build the dynamic sub connect_all {} # to editpanel can connect 2 menus, sub connect_tabbar { my $tabbar = Kephra::App::TabBar::_ref(); if ( Kephra::App::TabBar::get_contextmenu_visibility() ) { connect_widget( $tabbar, Kephra::App::TabBar::_config()->{contextmenu} ) } else { disconnect_widget($tabbar) } } sub connect_widget { my $widget = shift; my $menu_id = shift; Wx::Event::EVT_RIGHT_DOWN ($widget, sub { my ($widget, $event) = @_; my $menu = get($menu_id); $widget->PopupMenu($menu, $event->GetX, $event->GetY) if Kephra::Menu::is($menu); } ); } sub disconnect_widget{ my $widget = shift; Wx::Event::EVT_RIGHT_DOWN($widget, sub {} ) if substr(ref $widget, 0, 4) eq 'Wx::'; } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Window.pm0000644000175000017500000001407711573645310020440 0ustar rizlarizlapackage Kephra::App::Window; # Main application window our $VERSION = '0.11'; use strict; use warnings; my $frame; sub _ref { if (ref $_[0] eq 'Wx::Frame'){ $frame = $_[0] } else { $frame } } sub _config { Kephra::API::settings()->{app}{window} } sub create { my $win = Wx::Frame->new (undef, -1, '', [-1,-1], [-1,-1], &Wx::wxDEFAULT_FRAME_STYLE); Wx::Window::SetWindowVariant($win, &Wx::wxWINDOW_VARIANT_SMALL) if Wx::wxMAC(); _ref($win); connect_events($win); $win; } sub connect_events { my $win = shift || _ref(); my $trigger = \&Kephra::EventTable::trigger; Wx::Event::EVT_MENU_OPEN ($win, sub {&$trigger('menu.open')}); Wx::Event::EVT_DROP_FILES($win, \&Kephra::File::add_dropped); Wx::Event::EVT_CLOSE ($win, sub { &$trigger('app.close'); Kephra::App::exit() }); #Wx::Event::EVT_IDLE ($win, sub { } ); } sub apply_settings { my $win = shift || _ref(); $win->DragAcceptFiles(1) if Wx::wxMSW(); my $icon_file = Kephra::Config::existing_filepath( _config()->{icon} ); load_icon( $win, $icon_file ); restore_positions(); eval_fullscreen_flag(); eval_on_top_flag(); eval_transparency_flag(); eval_max_editpanel_flag(); } sub load_icon { my $frame = shift; my $icon_file = shift; return unless -e $icon_file; my $type ; if ($icon_file =~ /.ico$/) { $type = &Wx::wxBITMAP_TYPE_ICO } elsif ($icon_file =~ /.xpm$/) { $type = &Wx::wxBITMAP_TYPE_XPM } my $icon; $icon = Wx::Icon->new( $icon_file, $type ) if $type; $frame->SetIcon( $icon ) if defined $icon; } sub set_title { my $title = shift; _ref()->SetTitle($title); } sub refresh_title { my $appname = $Kephra::NAME; my $version = $Kephra::VERSION; my $untitled = Kephra::Config::Localisation::strings()->{app}{general}{untitled}; my $filepath = Kephra::Document::Data::get_file_path() || "<$untitled>"; my $filename = Kephra::Document::Data::file_name() || "<$untitled>"; my $docnr = Kephra::Document::Data::current_nr() + 1; my $doccount = Kephra::Document::Data::last_nr(); my $title = _config()->{title}; set_title( eval qq/"$title"/ ); } sub get_fullscreen_mode { _config()->{fullscreen} } sub switch_fullscreen_mode { _config()->{fullscreen} ^= 1; eval_fullscreen_flag(); } sub eval_fullscreen_flag { _ref->ShowFullScreen( get_fullscreen_mode(), &Wx::wxFULLSCREEN_NOCAPTION | &Wx::wxFULLSCREEN_NOBORDER ); } sub get_on_top_mode { _config()->{stay_on_top} } sub switch_on_top_mode { _config()->{stay_on_top} ^= 1; eval_on_top_flag(); } sub eval_on_top_flag { my $win = _ref(); my $style = $win->GetWindowStyleFlag(); if ( get_on_top_mode() ) { $style |= &Wx::wxSTAY_ON_TOP } else { $style &= ~&Wx::wxSTAY_ON_TOP } $win->SetWindowStyle($style); Kephra::EventTable::trigger('app.window.ontop'); } sub get_transparency_mode { _config()->{transparent} } sub switch_transparency_mode { _config()->{transparent} ^= 1; eval_transparency_flag(); } sub eval_transparency_flag { _ref->SetTransparent( 255 - int( _config()->{transparency} * 255 * get_transparency_mode() ) ); } sub switch_top_and_transparency_mode { switch_transparency_mode(); switch_on_top_mode if get_on_top_mode() != get_transparency_mode(); } sub get_max_editpanel_mode { _config()->{maximize_editpanel} } sub switch_max_editpanel_mode { _config()->{maximize_editpanel} ^= 1; eval_max_editpanel_flag(); } sub eval_max_editpanel_flag { my $v = get_max_editpanel_mode(); Kephra::App::MenuBar::switch_visibility() if Kephra::App::MenuBar::get_visibility() == $v; Kephra::App::MainToolBar::switch_visibility() if Kephra::App::MainToolBar::get_visibility() == $v; Kephra::App::TabBar::switch_visibility() if Kephra::App::TabBar::get_visibility() == $v and not $v; Kephra::App::SearchBar::switch_visibility() if Kephra::App::SearchBar::get_visibility() == $v; Kephra::App::StatusBar::switch_visibility() if Kephra::App::StatusBar::get_visibility() == $v; } sub restore_normal_mode { switch_fullscreen_mode if _config()->{fullscreen}; switch_on_top_mode if _config()->{stay_on_top}; switch_transparency_mode if _config()->{transparent}; switch_max_editpanel_mode if _config()->{maximize_editpanel}; } sub save_positions { my $app_win = Kephra::App::Window::_ref(); my $config = _config(); if ($config->{save_position}){ ($config->{position_x},$config->{position_y}) = $app_win->GetPositionXY; ($config->{size_x}, $config->{size_y}) = $app_win->GetSizeWH; } } sub restore_positions { # main window: resize when its got lost my $config = _config(); my $default = $config->{default}; my $screen = Wx::GetDisplaySize(); my ($screen_x, $screen_y ) = ( $screen->GetWidth, $screen->GetHeight ); if ($config->{save_position}){ if ( ( 0 > $config->{position_x} + $config->{size_x} ) or ( 0 > $config->{position_y} + $config->{size_y} ) ) { $config->{position_x} = 0; $config->{position_y} = 0; if ( int $default->{size_x} == 0 ) { $config->{size_x} = $screen_x } else{ $config->{size_x} = $default->{size_x} } if ( int $default->{size_y} == 0 ) { $config->{size_y} = $screen_y - 55} else{ $config->{size_y} = $default->{size_y} } } if (Wx::wxMAC()) {$config->{size_y}-=23; if ($config->{position_y}<21) {$config->{position_y}=21;}} $config->{position_x} = 0 if $screen_x < $config->{position_x}; $config->{position_y} = 0 if $screen_y < $config->{position_y}; } else { $config->{position_x} = $default->{position_x}; $config->{position_y} = $default->{position_y}; $config->{size_x} = $default->{size_x}; $config->{size_y} = $default->{size_y}; } _ref()->SetSize( $config->{position_x}, $config->{position_y}, $config->{size_x}, $config->{size_y} ); } sub OnPaint { my ( $self, $event ) = @_; my $dc = Wx::PaintDC->new($self); # create a device context (DC) } sub OnQuit { my ( $self, $event ) = @_; $self->Close(1); } sub destroy { _ref()->Destroy() } 1; =head1 NAME Kephra::App::Window - frame of the main window =head1 DESCRIPTION =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel/0000755000175000017500000000000011633700043017651 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel/Notepad.pm0000644000175000017500000001231211573645310021610 0ustar rizlarizlapackage Kephra::App::Panel::Notepad; our $VERSION = '0.16'; use strict; use warnings; my $global_notepad; my $local_notepad; sub _global_ref { $global_notepad = ref $_[0] eq 'Wx::StyledTextCtrl' ? $_[0] : $global_notepad } sub _local_ref { $local_notepad = ref $_[0] eq 'Wx::StyledTextCtrl' ? $_[0] : $local_notepad } #document.current.number.changed sub _ref { _global_ref() } sub _local_splitter {} sub _config { Kephra::API::settings()->{app}{panel}{notepad} } sub _splitter{ $Kephra::app{splitter}{right} } sub create { my $win = Kephra::App::Window::_ref(); my $notepad; if ( _global_ref()) {$notepad = _global_ref()} else { my $color = \&Kephra::Config::color; my $indicator = Kephra::App::EditPanel::_config()->{indicator}; my $config = _config(); $notepad = Wx::StyledTextCtrl->new( $win, -1, [-1,-1], [-1,-1] ); $notepad->SetWrapMode(&Wx::wxSTC_WRAP_WORD); $notepad->SetScrollWidth(210); $notepad->SetMarginWidth(0,0); $notepad->SetMarginWidth(1,0); $notepad->SetMarginWidth(2,0); $notepad->SetMargins(3,3); $notepad->SetCaretPeriod( $indicator->{caret}{period} ); $notepad->SetCaretWidth( $indicator->{caret}{width} ); $notepad->SetCaretForeground( &$color( $indicator->{caret}{color} ) ); if ( $indicator->{selection}{fore_color} ne '-1' ) { $notepad->SetSelForeground ( 1, &$color( $indicator->{selection}{fore_color} ) ); } $notepad->SetSelBackground( 1, &$color( $indicator->{selection}{back_color})); $notepad->StyleSetFont( &Wx::wxSTC_STYLE_DEFAULT, Wx::Font->new (_config()->{font_size}, &Wx::wxDEFAULT, &Wx::wxNORMAL, &Wx::wxNORMAL, 0, _config()->{font_family}) ); $notepad->SetTabWidth(4); $notepad->SetIndent(4); $notepad->SetHighlightGuide(4); # load content my $file_name = $config->{content_file}; if ($file_name) { $file_name = Kephra::Config::filepath($file_name); if (-e $file_name){ open my $FILE, '<', $file_name; $notepad->AppendText( $_ ) while <$FILE>; } } } $notepad->Show( get_visibility() ); Wx::Event::EVT_KEY_DOWN( $notepad, sub { my ( $fi, $event ) = @_; my $key = $event->GetKeyCode; my $ep = Kephra::App::EditPanel::_ref(); if ($key == &Wx::WXK_ESCAPE ) { Wx::Window::SetFocus( $ep ); } elsif ($key == &Wx::WXK_UP ) { Kephra::Edit::selection_move_up($notepad) if $event->ControlDown and $event->AltDown; } elsif ($key == &Wx::WXK_DOWN){ Kephra::Edit::selection_move_down($notepad) if $event->ControlDown and $event->AltDown; } elsif ($key == &Wx::WXK_F3 ) { if ($event->ControlDown) { my $sel = $notepad->GetSelectedText; $event->ShiftDown ? Kephra::Edit::Search::set_replace_item($sel) : Kephra::Edit::Search::set_find_item($sel); } } elsif ($key == &Wx::WXK_F5) { my ( $sel_beg, $sel_end ) = $notepad->GetSelection; Kephra::App::Panel::Output::ensure_visibility(); my $code = $sel_beg == $sel_end ? $notepad->GetText : $notepad->GetSelectedText; my $result; my $interpreter = _config->{eval_with}; if (not defined $interpreter or $interpreter eq 'eval') { $result = eval $code; $result = $@ if $@; } else { $result = `$interpreter $code`; } Kephra::App::Panel::Output::say($result); } elsif ($key == &Wx::WXK_F12) { Wx::Window::SetFocus( $ep ); switch_visibility() if $event->ControlDown; } elsif ($key == 70 and $event->ControlDown) {# F Kephra::CommandList::run_cmd_by_id('view-searchbar-goto'); } $event->Skip; }); Kephra::EventTable::add_call( 'app.splitter.right.changed',__PACKAGE__,sub { if ( get_visibility() and not _splitter()->IsSplit() ) { show( 0 ); return; } save_size(); }); _global_ref($notepad); $notepad; } sub get_visibility { _config()->{visible} } sub switch_visibility { show( get_visibility() ^ 1 ) } sub show { my $visibile = shift; my $config = _config(); $visibile = $config->{visible} unless defined $visibile; my $win = Kephra::App::Window::_ref(); my $main_panel = $Kephra::app{panel}{main}; my $notepad = _ref(); my $splitter = _splitter(); if ($visibile) { $splitter->SplitVertically( $main_panel, $notepad ); $splitter->SetSashPosition( -1*$config->{size}, 1); } else { $splitter->Unsplit(); $splitter->Initialize( $main_panel ); } $notepad->Show( $visibile ); $win->Layout; $config->{visible} = $visibile; Kephra::EventTable::trigger('panel.notepad.visible'); } sub note { show( 1 ); Wx::Window::SetFocus( _ref() ); } sub append { my $text = shift; return unless defined $text and $text; my $np = _ref(); $text = "\n" . $text if $np->GetLength(); $np->AppendText( $text ); } sub append_selection { append( Kephra::Edit::get_selection() ) } sub save { my $file_name = _config()->{content_file}; if ($file_name) { $file_name = Kephra::Config::filepath($file_name); if (open my $FH, '>', $file_name) {print $FH _ref()->GetText;} } save_size(); } sub save_size { my $splitter = _splitter(); return unless $splitter->IsSplit(); my $ww=Kephra::App::Window::_ref()->GetSize->GetWidth; _config()->{size} = -1*($ww-($ww-$splitter->GetSashPosition)); } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel/CommandLine.pm0000644000175000017500000000013311573645310022402 0ustar rizlarizlapackage Kephra::App::Panel::CommandLine; $VERSION = '0.00'; use strict; use warnings; 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel/Output.pm0000644000175000017500000001434311573645310021524 0ustar rizlarizlapackage Kephra::App::Panel::Output; our $VERSION = '0.11'; use strict; use warnings; use Cwd(); use Wx qw(wxTheClipboard); use Wx::Perl::ProcessStream qw( EVT_WXP_PROCESS_STREAM_STDOUT EVT_WXP_PROCESS_STREAM_STDERR EVT_WXP_PROCESS_STREAM_EXIT ); use Wx::DND; my $output; my $proc; sub _ref { if (ref $_[0] eq 'Wx::TextCtrl') {$output = $_[0]} else {$output} } sub _config { Kephra::API::settings()->{app}{panel}{output} } sub _splitter { $Kephra::app{splitter}{bottom} } sub _process { $proc } sub is_process { 1 if ref $_[0] eq 'Wx::Perl::ProcessStream::Process' } sub create { my $win = Kephra::App::Window::_ref(); my $edit = Kephra::App::EditPanel::_ref(); my $output; if (_ref()) {$output = _ref()} else { $output = Wx::TextCtrl->new ($win, -1,'', [-1,-1], [-1,-1], &Wx::wxTE_READONLY|&Wx::wxTE_PROCESS_ENTER|&Wx::wxTE_MULTILINE|&Wx::wxTE_LEFT); } _ref($output); my $config = _config(); my $color = \&Kephra::Config::color; $output->SetForegroundColour( &$color( $config->{fore_color} ) ); $output->SetBackgroundColour( &$color( $config->{back_color} ) ); $output->SetFont( Wx::Font->new ($config->{font_size}, &Wx::wxFONTSTYLE_NORMAL, &Wx::wxNORMAL, &Wx::wxLIGHT, 0, $config->{font_family}) ); #$output->SetEditable(0); Kephra::EventTable::add_call('panel.output.run', 'panel_output', sub { }); Kephra::EventTable::add_call ( 'app.splitter.bottom.changed', 'panel_notepad', sub { if ( get_visibility() and not _splitter()->IsSplit() ) { show( 0 ); return; } save_size(); }); EVT_WXP_PROCESS_STREAM_STDOUT( $win, sub { my ($self, $event) = @_; $event->Skip(1); say( $event->GetLine ); } ); EVT_WXP_PROCESS_STREAM_STDERR( $win, sub { my ($self, $event) = @_; $event->Skip(1); say( $event->GetLine ); } ); EVT_WXP_PROCESS_STREAM_EXIT ( $win, sub { my ($self, $event) = @_; $event->Skip(1); $event->GetProcess->Destroy; Kephra::EventTable::trigger('panel.output.run'); } ); Wx::Event::EVT_LEFT_DOWN($output, sub { my ($op, $event) = @_; unless ($^O =~ /darwin/i) { my ($beside, $col, $row) = $op->HitTest( Wx::Point->new($event->GetX, $event->GetY) ); my ($begin, $end) = $op->GetSelection; if ($beside != &Wx::wxTE_HT_UNKNOWN and $begin != $end) { my $pos = $op->XYToPosition($col, $row); copy_selection() if $pos >= $begin and $pos <= $end; } } $event->Skip; }); Wx::Event::EVT_MIDDLE_DOWN($output, sub { my ($op, $event) = @_; Kephra::Edit::Search::set_find_item( $op->GetStringSelection() ); Kephra::Edit::Search::find_next(); }); Wx::Event::EVT_KEY_DOWN( $output, sub { my ( $op, $event ) = @_; my $key = $event->GetKeyCode; if ($key == &Wx::WXK_RETURN) { copy_selection(); } elsif ($key == &Wx::WXK_F12) { Kephra::App::Panel::Notepad::append( $output->GetStringSelection() ) if $event->ShiftDown; } }); $output->Show( get_visibility() ); $output; } sub get_visibility { _config()->{visible} } sub switch_visibility { show( get_visibility() ^ 1 ) } sub ensure_visibility { switch_visibility() unless get_visibility() } sub show { my $visibile = shift; my $config = _config(); $visibile = $config->{visible} unless defined $visibile; my $win = Kephra::App::Window::_ref(); my $cpanel = $Kephra::app{panel}{center}; my $output = _ref(); my $splitter = _splitter(); if ($visibile) { $splitter->SplitHorizontally( $cpanel, $output ); $splitter->SetSashPosition( -1*$config->{size}, 1); } else { $splitter->Unsplit(); $splitter->Initialize( $cpanel ); } $output->Show($visibile); $win->Layout; $config->{visible} = $visibile; Kephra::EventTable::trigger('panel.output.visible'); } sub save { save_size() } sub save_size { my $splitter = _splitter(); return unless $splitter->IsSplit(); my $wh=Kephra::App::Window::_ref()->GetSize->GetHeight; _config()->{size} = -1*($wh-($wh-$splitter->GetSashPosition)); } sub clear { _ref()->Clear; if (Wx::wxMAC()) {_ref()->SetFont ( Wx::Font->new(_config()->{font_size}, &Wx::wxFONTSTYLE_NORMAL, &Wx::wxNORMAL, &Wx::wxLIGHT, 0, _config()->{font_family}) )} } sub print { _ref()->AppendText( $_ ) for @_ } sub say { &print; _ref()->AppendText( "\n" ) } sub new_output { ensure_visibility(); _config()->{append} ? &print(_ref()->IsEmpty ? '' : "\n\n") : &clear(); &print( @_ ); } sub copy_selection { my $selection = _ref()->GetStringSelection(); return unless $selection; wxTheClipboard->Open; wxTheClipboard->SetData( Wx::TextDataObject->new( $selection ) ); wxTheClipboard->Close; } # sub display_inc { new_output('@INC:'."\n"); &say(" -$_") for @INC } sub display_env { new_output('%ENV:'."\n"); &say( " -$_:" . $ENV{$_} ) for sort keys %ENV; } sub display_selection_dec { my $selection = Kephra::Edit::get_selection(); return unless defined $selection and $selection; my @output = map { ' ' . $_ } unpack 'C*', $selection; new_output(@output); } sub display_selection_hex { my $selection = Kephra::Edit::get_selection(); return unless defined $selection and $selection; my @output = map { sprintf '%3X', $_ } unpack 'C*', $selection; new_output(@output); } # to be outsourced into interpreter plugin sub run { my $win = Kephra::App::Window::_ref(); my $doc = Kephra::Document::Data::get_file_path(); my $cmd = _config->{interpreter_path}; my $dir = Kephra::File::_dir(); Kephra::File::save(); if ($doc) { my $cwd = Cwd::cwd(); chdir $dir; my $proc = Wx::Perl::ProcessStream->OpenProcess (qq~"$cmd" "$doc"~ , 'Interpreter-Plugin', $win); # -I$dir chdir $cwd; new_output(); Kephra::EventTable::trigger('panel.output.run'); if (not $proc) {} } else { my $l18n = Kephra::Config::Localisation::strings()->{app}; Kephra::App::StatusBar::info_msg ($l18n->{menu}{document}.' '.$l18n->{general}{untitled}."\n" ); } } sub is_running { my $proc = _process(); $proc->IsAlive if is_process($proc); } sub stop { my $proc = _process(); if ( is_process($proc) ) { $proc->KillProcess; $proc->TerminateProcess; Kephra::EventTable::trigger('panel.output.run'); } } 1; =head1 NAME Kephra::App::Panel::Output - output panel =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel/TreeTool.pm0000644000175000017500000000025711573645310021760 0ustar rizlarizlapackage Kephra::App::Panel::TreeTool; use strict; use warnings; our $VERSION = '0.01'; sub _config { Kephra::API::settings()->{app}{panel}{lib}} sub start{} 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/MenuBar.pm0000644000175000017500000000236511573645310020517 0ustar rizlarizlapackage Kephra::App::MenuBar; our $VERSION = 0.08; use strict; use warnings; my $bar; sub _ref { $bar = ref $_[0] eq 'Wx::MenuBar' ? $_[0] : $bar } sub _config { Kephra::API::settings()->{app}{menubar} } sub create { my $menubar_def = Kephra::Config::File::load_from_node_data( _config() ); unless ($menubar_def) { $menubar_def = Kephra::Config::Default::mainmenu(); } my $menubar = Wx::MenuBar->new(); my $m18n = Kephra::Config::Localisation::strings()->{app}{menu}; my ($pos, $menu_name); for my $menu_def ( @$menubar_def ){ for my $menu_id (keys %$menu_def){ # removing the menu command if there is one $pos = index $menu_id, ' '; if ($pos > -1){ if ('menu' eq substr $menu_id, 0, $pos ){ $menu_name = substr ($menu_id, $pos+1); # ignoring menu structure when command other that menu or blank } else { next } } else { $menu_name = $menu_id; } $menubar->Append( Kephra::Menu::create_static( $menu_name, $menu_def->{$menu_id}), $m18n->{label}{$menu_name} ); } } _ref($menubar); show(); } sub get_visibility { _config()->{visible} } sub switch_visibility { _config()->{visible} ^= 1; show(); } sub show { Kephra::App::Window::_ref()->SetMenuBar( get_visibility() ? _ref() : undef ); } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/Panel.pm0000644000175000017500000000020311573645310020212 0ustar rizlarizlapackage Kephra::App::Panel; our $VERSION = '0.00'; use strict; use warnings; my ($left,$right,$bottom); sub new {} 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/MainToolBar.pm0000644000175000017500000000211611573645310021327 0ustar rizlarizlapackage Kephra::App::MainToolBar; our $VERSION = '0.09'; use strict; use warnings; sub _ref { Kephra::ToolBar::_ref( _name(), $_[0]) } sub _name { 'main' } sub _ID { _name().'_toolbar' } sub _config { Kephra::API::settings()->{app}{toolbar} } sub _win { Kephra::App::Window::_ref() } sub create { return until get_visibility(); my $frame = Kephra::App::Window::_ref(); my $bar = $frame->GetToolBar; # destroy old toolbar if there any destroy() if $bar; _ref( $frame->CreateToolBar ); my $bar_def = Kephra::Config::File::load_from_node_data( _config() ); unless ($bar_def) { $bar_def = Kephra::Config::Tree::get_subtree ( Kephra::Config::Default::toolbars(), _ID() ); } $bar = Kephra::ToolBar::create( _name(), $bar_def ); } sub destroy { Kephra::ToolBar::destroy ( _name() ) } sub get_visibility { _config()->{visible} } sub switch_visibility { _config()->{visible} ^= 1; show(); } sub show { if ( get_visibility() ){ create(); _win()->SetToolBar( _ref() ); } else { destroy( ); _win()->SetToolBar(undef); } } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/EditPanel.pm0000644000175000017500000003160711575503404021033 0ustar rizlarizlapackage Kephra::App::EditPanel; our $VERSION = '0.14'; use strict; use warnings; # # internal API to config und app pointer # my $ref; my %mouse_commands; sub _ref { $ref } sub _set_ref { $ref = $_[0] if is($_[0]) } sub _all_ref { Kephra::Document::Data::get_all_ep() } sub is { 1 if ref $_[0] eq 'Wx::StyledTextCtrl'} sub _config { Kephra::API::settings()->{editpanel} } # splitter_pos sub new { my $ep = Wx::StyledTextCtrl->new( Kephra::App::Window::_ref() ); $ep->DragAcceptFiles(1) if Wx::wxMSW(); return $ep; } sub gets_focus { Wx::Window::SetFocus( _ref() ) if is( _ref() ) } # general settings sub apply_settings_here { my $ep = shift || _ref() || _create(); return unless is($ep); my $conf = _config(); load_font($ep); # indicators: caret, selection, whitespaces... Kephra::App::EditPanel::Indicator::apply_all_here($ep); # Margins on left side Kephra::App::EditPanel::Margin::apply_settings_here($ep); #misc: scroll width, codepage, wordchars apply_autowrap_settings_here($ep); $ep->SetScrollWidth($conf->{scroll_width}) unless $conf->{scroll_width} eq 'auto'; #wxSTC_CP_UTF8 Wx::wxUNICODE() $ep->SetCodePage(65001);# set_word_chars_here($ep); # internal $ep->SetLayoutCache(&Wx::wxSTC_CACHE_PAGE); $ep->SetBufferedDraw(1); $conf->{contextmenu}{visible} eq 'default' ? $ep->UsePopUp(1) : $ep->UsePopUp(0); Kephra::Edit::eval_newline_sub(); Kephra::Edit::Marker::define_marker($ep); connect_events($ep); Kephra::EventTable::add_call ( 'editpanel.focus', 'editpanel', sub { Wx::Window::SetFocus( _ref() ) unless $Kephra::temp{dialog}{active}; }, __PACKAGE__ ) if $conf->{auto}{focus}; Kephra::EventTable::add_call( 'document.text.change', 'update_edit_pos', sub { Kephra::Document::Data::attr('edit_pos', _ref()->GetCurrentPos()); }, __PACKAGE__); } sub connect_events { my $ep = shift || _ref(); my $trigger = \&Kephra::EventTable::trigger; my $config = _config(); my $selection; my $rectangular_mode; my ($dragpos,$droppos); # override sci presets Wx::Event::EVT_DROP_FILES ($ep, \&Kephra::File::add_dropped); Wx::Event::EVT_STC_START_DRAG ($ep, -1, sub { my ( $ep, $event) = @_; $dragpos = $ep->GetCurrentPos(); $selection = $ep->GetSelectedText(); $rectangular_mode = $ep->SelectionIsRectangle(); $event->Skip; }); Wx::Event::EVT_STC_DRAG_OVER ($ep, -1, sub { $droppos = $_[1]->GetPosition }); Wx::Event::EVT_STC_DO_DROP ($ep, -1, sub { my ( $ep, $event) = @_; $rectangular_mode ? Kephra::Edit::paste_rectangular($selection, $ep, $dragpos, $droppos) : $event->Skip; }); Wx::Event::EVT_ENTER_WINDOW ($ep, sub { &$trigger('editpanel.focus')} ); Wx::Event::EVT_LEFT_DOWN ($ep, sub { my ($ep, $event) = @_; my $nr = Kephra::App::EditPanel::Margin::in_nr( $event->GetX, $ep ); if ($nr == -1) { Kephra::Edit::copy() if clicked_on_selection($event) } else { Kephra::App::EditPanel::Margin::on_left_click($ep, $event, $nr) } $event->Skip; }); Wx::Event::EVT_MIDDLE_DOWN ($ep, sub { my ($ep, $event) = @_; my $nr = Kephra::App::EditPanel::Margin::in_nr( $event->GetX, $ep ); # click is above text area if ($nr == -1) { if ($event->LeftIsDown){ Kephra::Edit::paste(); set_caret_on_cursor($event); } # just middle clicked else { if ($ep->GetSelectedText){ if (clicked_on_selection($event, $ep)) { Kephra::Edit::Search::set_selection_as_find_item(); Kephra::Edit::Search::find_next(); } else { insert_selection_at_cursor($event, $ep) } } else { Kephra::Edit::Goto::last_edit() } } } else { Kephra::App::EditPanel::Margin::on_middle_click($ep, $event, $nr) } }); Wx::Event::EVT_RIGHT_DOWN ($ep, sub { my ($ep, $event) = @_; my $nr = Kephra::App::EditPanel::Margin::in_nr( $event->GetX, $ep ); if ($nr == -1) { if ($event->LeftIsDown){ Kephra::Edit::_selection_left_to_right($ep) ? Kephra::Edit::cut() : Kephra::Edit::clear(); set_caret_on_cursor($event); } else { my $mconf = $config->{contextmenu}; if ($mconf->{visible} eq 'custom'){ my $menu_id = $ep->GetSelectedText ? $mconf->{ID_selection} : $mconf->{ID_normal}; my $menu = Kephra::App::ContextMenu::get($menu_id); $ep->PopupMenu($menu, $event->GetX, $event->GetY) if $menu; } } } else {Kephra::App::EditPanel::Margin::on_right_click($ep, $event, $nr)} }); #Wx::EVT_SET_FOCUS ($ep, sub {}); Wx::Event::EVT_STC_SAVEPOINTREACHED($ep, -1, \&Kephra::File::savepoint_reached); Wx::Event::EVT_STC_SAVEPOINTLEFT($ep, -1, \&Kephra::File::savepoint_left); # -DEP #Wx::Event::EVT_STC_MARGINCLICK ($ep, -1, \&Kephra::App::EditPanel::Margin::on_left_click); Wx::Event::EVT_STC_CHANGE ($ep, -1, sub {&$trigger('document.text.change')} ); Wx::Event::EVT_STC_UPDATEUI ($ep, -1, sub { my ( $ep, $event) = @_; my ( $sel_beg, $sel_end ) = $ep->GetSelection; my $is_sel = $sel_beg != $sel_end; my $was_sel = Kephra::Document::Data::attr('text_selected'); Kephra::Document::Data::attr('text_selected', $is_sel); &$trigger('document.text.select') if $is_sel xor $was_sel; &$trigger('caret.move'); }); Wx::Event::EVT_KEY_DOWN ($ep, sub { my ($ep, $event) = @_; #$ep = _ref(); my $key = $event->GetKeyCode + 1000 * ($event->ShiftDown + $event->ControlDown*2 + $event->AltDown*4); # reacting on shortkeys that are defined in the Commanlist #print "$key\n"; return if Kephra::CommandList::run_cmd_by_keycode($key); # reacting on Enter if ($key == &Wx::WXK_RETURN) { if ($config->{auto}{brace}{indention}) { my $pos = $ep->GetCurrentPos - 1; my $char = $ep->GetCharAt($pos); if ($char == 123) { return Kephra::Edit::Format::blockindent_open($pos); } elsif ($char == 125) { return Kephra::Edit::Format::blockindent_close($pos); } } $config->{auto}{indention} ? Kephra::Edit::Format::autoindent() : $ep->CmdKeyExecute(&Wx::wxSTC_CMD_NEWLINE) ; } # scintilla handles the rest of the shortkeys else { $event->Skip } #SCI_SETSELECTIONMODE #($key == 350){use Kephra::Ext::Perl::Syntax; Kephra::Ext::Perl::Syntax::check()}; }); } sub create_mouse_binding { my @cmd = qw(left-middle left-right left-selection middle middle-selected middle-selection ); if (_config()->{control}{use_mouse_function}) { my $config = _config()->{control}{mouse_function}; $mouse_commands{$_} = Kephra::Macro::create_from_cmd_list($config->{$_}) for @cmd } else { $mouse_commands{$_} = sub {} for @cmd } } sub set_caret_on_cursor { my $event = shift; my $ep = shift || _ref(); return unless ref $event eq 'Wx::MouseEvent' and is($ep); my $pos = cursor_2_caret_pos($event, $ep); $pos = $ep->GetCurrentPos() if $pos == -1; $ep->SetSelection( $pos, $pos ); } sub clicked_on_selection { my $event = shift; my $ep = shift || _ref(); return unless ref $event eq 'Wx::MouseEvent' and is($ep); my ($start, $end) = $ep->GetSelection(); my $pos = cursor_2_caret_pos($event, $ep); return 1 if $start != $end and $pos >= $start and $pos <= $end; } sub insert_selection_at_cursor { my $event = shift; my $ep = shift || _ref(); my $pos = cursor_2_caret_pos($event, $ep); Kephra::Edit::insert_text($ep->GetSelectedText(), $pos) if $pos > -1; } sub cursor_2_caret_pos { my $event = shift; my $ep = shift || _ref(); return -1 unless ref $event eq 'Wx::MouseEvent' and is($ep); my $pos = $ep->PositionFromPointClose($event->GetX, $event->GetY); if ($pos == -1) { my $width = Kephra::App::EditPanel::Margin::width($ep) + Kephra::App::EditPanel::Margin::get_text_width(); my $y = $event->GetY; my $line = $ep->LineFromPosition( $ep->PositionFromPointClose($width, $y) ); $pos = $ep->GetLineEndPosition ($line); my $font_size = _config()->{font}{size}; if ($line == 0 and $y > $font_size + 12) { my $lcc = 0; $pos = $ep->PositionFromPointClose($width-1, $y); while ($pos == -1 and $lcc < $ep->GetLineCount() ){ $lcc++; # line counter $y += $font_size; $pos = $ep->PositionFromPointClose($width, $y); } return -1 if $pos == -1; return $ep->PositionFromLine( $ep->LineFromPosition($pos) - $lcc ); } } $pos; } sub disconnect_events { my $ep = shift || _ref(); Wx::Event::EVT_STC_CHANGE ($ep, -1, sub {}); Wx::Event::EVT_STC_UPDATEUI($ep, -1, sub {}); } sub set_contextmenu_custom { set_contextmenu('custom') } sub set_contextmenu_default { set_contextmenu('default')} sub set_contextmenu_none { set_contextmenu('none') } sub set_contextmenu { my $mode = shift; $mode = 'custom' unless $mode; my $ep = _ref(); $mode eq 'default' ? $ep->UsePopUp(1) : $ep->UsePopUp(0); _config()->{contextmenu}{visible} = $mode; } sub get_contextmenu { _config()->{contextmenu}{visible} } # sub set_word_chars { set_word_chars_here($_) for @{_all_ref()} } sub set_word_chars_here { my $ep = shift || _ref(); my $conf = _config(); if ( $conf->{word_chars} ) { $ep->SetWordChars( $conf->{word_chars} ); } else { $ep->SetWordChars( '$%&-@_abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789' ); } } # line wrap sub apply_autowrap_settings { apply_autowrap_settings_here($_) for @{_all_ref()} } sub apply_autowrap_settings_here { my $ep = shift || _ref(); $ep->SetWrapMode( _config()->{line_wrap} ); Kephra::EventTable::trigger('editpanel.autowrap'); } sub get_autowrap_mode { _config()->{line_wrap} == &Wx::wxSTC_WRAP_WORD} sub switch_autowrap_mode { _config()->{line_wrap} = get_autowrap_mode() ? &Wx::wxSTC_WRAP_NONE : &Wx::wxSTC_WRAP_WORD; apply_autowrap_settings(); } # font settings sub load_font { my $ep = shift || _ref(); my ( $fontweight, $fontstyle ) = ( &Wx::wxNORMAL, &Wx::wxNORMAL ); my $font = _config()->{font}; $fontweight = &Wx::wxLIGHT if $font->{weight} eq 'light'; $fontweight = &Wx::wxBOLD if $font->{weight} eq 'bold'; $fontstyle = &Wx::wxSLANT if $font->{style} eq 'slant'; $fontstyle = &Wx::wxITALIC if $font->{style} eq 'italic'; my $wx_font = Wx::Font->new( $font->{size}, &Wx::wxDEFAULT, $fontstyle, $fontweight, 0, $font->{family} ); $ep->StyleSetFont( &Wx::wxSTC_STYLE_DEFAULT, $wx_font ) if $wx_font->Ok > 0; } sub change_font { my ( $fontweight, $fontstyle ) = ( &Wx::wxNORMAL, &Wx::wxNORMAL ); my $font_config = _config()->{font}; $fontweight = &Wx::wxLIGHT if ( $$font_config{weight} eq 'light' ); $fontweight = &Wx::wxBOLD if ( $$font_config{weight} eq 'bold' ); $fontstyle = &Wx::wxSLANT if ( $$font_config{style} eq 'slant' ); $fontstyle = &Wx::wxITALIC if ( $$font_config{style} eq 'italic' ); my $oldfont = Wx::Font->new( $$font_config{size}, &Wx::wxDEFAULT, $fontstyle, $fontweight, 0, $$font_config{family} ); my $newfont = Kephra::Dialog::get_font( $oldfont ); if ( $newfont->Ok > 0 ) { ($fontweight, $fontstyle) = ($newfont->GetWeight, $newfont->GetStyle); $$font_config{size} = $newfont->GetPointSize; $$font_config{family} = $newfont->GetFaceName; $$font_config{weight} = 'normal'; $$font_config{weight} = 'light' if $fontweight == &Wx::wxLIGHT; $$font_config{weight} = 'bold' if $fontweight == &Wx::wxBOLD; $$font_config{style} = 'normal'; $$font_config{style} = 'slant' if $fontstyle == &Wx::wxSLANT; $$font_config{style} = 'italic' if $fontstyle == &Wx::wxITALIC; Kephra::Document::SyntaxMode::reload($_) for @{Kephra::Document::Data::all_nr()}; Kephra::App::EditPanel::Margin::apply_line_number_width(); } } # sub zoom_in { my $ep = shift || _ref(); $ep->SetZoom( $ep->GetZoom()+1 ) if $ep->GetZoom() < 45; } sub zoom_out { my $ep = shift || _ref(); $ep->SetZoom( $ep->GetZoom()-1 ) if $ep->GetZoom() > -10; } sub zoom_normal { my $ep = shift || _ref(); $ep->SetZoom( 0 ) ; } # # auto indention sub get_autoindention { Kephra::App::EditPanel::_config()->{auto}{indention} } sub set_autoindention { Kephra::App::EditPanel::_config()->{auto}{indention} = shift; Kephra::Edit::eval_newline_sub(); } sub switch_autoindention { set_autoindention( get_autoindention() ^ 1 ) } sub set_autoindent_on { set_autoindention( 1 ) } sub set_autoindent_off { set_autoindention( 0 ) } # # brace indention sub get_braceindention { Kephra::App::EditPanel::_config()->{auto}{brace}{indention}} sub set_braceindention { Kephra::App::EditPanel::_config()->{auto}{brace}{indention} = shift; Kephra::Edit::eval_newline_sub(); } sub switch_braceindention { set_braceindention( get_braceindention() ^ 1 ) } sub set_braceindent_on { set_braceindention( 1 ) } sub set_braceindent_off { set_braceindention( 0 ) } # # sub get_bracecompletion { Kephra::App::EditPanel::_config()->{auto}{brace}{make} } sub set_bracecompletion { Kephra::App::EditPanel::_config()->{auto}{brace}{make} = shift; } sub switch_bracecompletion{ set_bracecompletion( get_bracecompletion() ^ 1 ) } 1; #EVT_STC_CHARADDED EVT_STC_MODIFIED #wxSTC_CP_UTF8 wxSTC_CP_UTF16 Wx::wxUNICODE() #wxSTC_WS_INVISIBLE wxSTC_WS_VISIBLEALWAYS #$ep->StyleSetForeground (wxSTC_STYLE_CONTROLCHAR, Wx::Colour->new(0x55, 0x55, 0x55)); #$ep->CallTipShow(3,"testtooltip\n next line"); #tips #SetSelectionMode(wxSTC_SEL_RECTANGLE); kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/StatusBar.pm0000644000175000017500000002155311573645310021076 0ustar rizlarizlapackage Kephra::App::StatusBar; our $VERSION = '0.09'; use strict; use warnings; my (@fields, @abs_border_x, %index, %width); my $bar; sub _ref { $bar = ref $_[0] eq 'Wx::StatusBar' ? $_[0] : $bar } sub _config { Kephra::API::settings()->{app}{statusbar} } sub _item { $fields[$_[0]] } sub _l18n { Kephra::Config::Localisation::strings()->{app}{status} } sub _none_string { Kephra::Config::Localisation::strings()->{dialog}{general}{none}; } sub _set_text { my ($msg, $nr) = @_; my $win = Kephra::App::Window::_ref(); return if not defined $nr or $nr < 0 or $nr > @fields or not $win or not defined $msg; $win->SetStatusText($msg, $nr); } sub _index_from_mouse_pos { my $x_pos = shift; for (0 .. $#abs_border_x) { return $_ if $width{ $fields[$_] } == -1; return $_ if $x_pos <= $abs_border_x[$_]; } } # # external API # sub create { my $win = Kephra::App::Window::_ref(); $win->CreateStatusBar(1); my $bar = $win->GetStatusBar; my $statusbar_def = Kephra::Config::File::load_from_node_data( _config() ); unless ($statusbar_def) { $statusbar_def = Kephra::Config::Default::toolbars()->{statusbar}; } for my $nr (0 .. $#$statusbar_def) { my @item = split / /, $statusbar_def->[$nr]; if ($item[0] eq 'textpanel' and defined $item[1]) { $index{$item[1]} = $nr; $width{$item[1]} = defined $item[2] ? $item[2] : 50; } } $fields[ $index{$_} ] = $_ for keys %index; $abs_border_x[0] = $width{ $fields[0] }; $abs_border_x[$_] = $abs_border_x[$_-1] + $width{ $fields[$_] } + 2 for 1 .. $#fields; my $length = scalar keys %index; $bar->SetFieldsCount( $length ); my @field_width; $field_width[$_] = $width{ $fields[$_] } for 0 .. $length - 1; $bar->SetStatusWidths( @field_width ); $win->SetStatusBarPane( $index{message} ); Wx::Event::EVT_LEFT_DOWN ( $bar, sub { return unless get_interactive(); my ( $bar, $event ) = @_; my $field = _item( _index_from_mouse_pos( $event->GetX ) ); if ($field eq 'syntaxmode') {Kephra::Document::SyntaxMode::switch_auto()} #elsif ($field eq 'codepage') {Kephra::Document::Property::switch_codepage()} elsif ($field eq 'tab') {Kephra::Document::Property::switch_tab_mode()} elsif ($field eq 'EOL') {Kephra::App::EditPanel::Indicator::switch_EOL_visibility()} elsif ($field eq 'message') {next_file_info(); } } ); Wx::Event::EVT_RIGHT_DOWN ( $bar, sub { return unless get_contextmenu_visibility(); my ( $bar, $event ) = @_; my $x = $event->GetX; my $index = _index_from_mouse_pos( $x ); my $cell_start = $bar->GetFieldRect($index)->GetTopLeft; $x = $cell_start->x unless $width{ _item($index) } == -1; my $y = $cell_start->y; my $field = _item( $index ); my $menu = \&Kephra::App::ContextMenu::get; if ($field eq 'syntaxmode'){$bar->PopupMenu( &$menu('status_syntaxmode'),$x,$y)} elsif ($field eq 'codepage') {$bar->PopupMenu( &$menu('status_encoding'), $x,$y)} elsif ($field eq 'tab') {$bar->PopupMenu( &$menu('status_tab'), $x,$y)} elsif ($field eq 'EOL') {$bar->PopupMenu( &$menu('status_eol'), $x,$y)} elsif ($field eq 'message') {$bar->PopupMenu( &$menu('status_info'), $x,$y)} }); my $help_index = -1; Wx::Event::EVT_MOTION ( $bar, sub { my $index = _index_from_mouse_pos( $_[1]->GetX ); return if $index == $help_index; $help_index = $index; info_msg( _l18n()->{help}{ _item( $index ) } ); }); Wx::Event::EVT_LEAVE_WINDOW( $bar, sub { info_msg(''); $help_index = -1 }); Kephra::EventTable::add_call ('caret.move', 'caret_status', \&caret_pos_info, __PACKAGE__); Kephra::EventTable::add_call ('document.text.change', 'info_msg', \&refresh_info_msg, __PACKAGE__); Kephra::EventTable::add_call ('editpanel.focus', 'info_msg', \&refresh_info_msg, __PACKAGE__); show(); } sub get_visibility { _config()->{'visible'} } sub switch_visibility { _config()->{'visible'} ^= 1; show(); Kephra::App::Window::_ref()->Layout(); } sub show { Kephra::App::Window::_ref()->GetStatusBar->Show( get_visibility() ) } sub get_interactive { _config()->{interactive} } sub get_contextmenu_visibility { _config()->{contextmenu_visible} } sub switch_contextmenu_visibility { _config()->{contextmenu_visible} ^= 1 } # # update cell content # sub refresh_cursor { caret_pos_info(); refresh_info_msg(); } sub refresh_all_cells { refresh_cursor(); style_info(); codepage_info(); tab_info(); EOL_info(); info_msg(); } sub caret_pos_info { my $ep = Kephra::App::EditPanel::_ref(); my $pos = $ep->GetCurrentPos; my $line = $ep->LineFromPosition($pos) + 1; my $lpos = $ep->GetColumn($pos) + 1; my $value; # caret pos display if ( $line > 9999 or $lpos > 9999 ) { _set_text(" $line : $lpos", $index{cursor} ) } else { _set_text(" $line : $lpos", $index{cursor} ) } # selection or pos % display my ( $sel_beg, $sel_end ) = $ep->GetSelection; unless ( Kephra::Document::Data::attr('text_selected') ) { my $chars = $ep->GetLength; if ($chars) { my $value = int 100 * $pos / $chars + .5; $value = ' ' . $value if $value < 10; $value = ' ' . $value . ' ' if $value < 100; _set_text( " $value%", $index{selection} ); } else { _set_text( " 100%", $index{selection} ) } } else { if ( $ep->SelectionIsRectangle ) { my $x = abs int $ep->GetColumn($sel_beg) - $ep->GetColumn($sel_end); my $lines = 1 + abs int $ep->LineFromPosition($sel_beg) - $ep->LineFromPosition($sel_end); my $chars = $x * $lines; $lines = ' ' . $lines if $lines < 100; if ($lines < 10000) { $value = "$lines : $chars" } else { $value = "$lines:$chars" } _set_text( $value, $index{selection} ); } else { my $lines = 1 + $ep->LineFromPosition($sel_end) - $ep->LineFromPosition($sel_beg); my $chars = $sel_end - $sel_beg - ($lines - 1) * Kephra::Document::Data::get_attribute('EOL_length'); $lines = ' ' . $lines if $lines < 100; if ($lines < 10000) { $value = "$lines : $chars" } else { $value = "$lines:$chars" } _set_text( $value, $index{selection}); } } } sub style_info { my $style = shift || Kephra::Document::Data::attr('syntaxmode') || _none_string(); _set_text( '' . $style, $index{syntaxmode} ); } sub codepage_info { my $codepage = shift || Kephra::Document::Data::attr('codepage'); my $msg = defined $codepage ? Kephra::CommandList::get_cmd_property ( 'document-encoding-'.$codepage, 'label' ) : _none_string(); _set_text( '' . $codepage, $index{codepage} ); } sub tab_info { my $mode = Kephra::App::EditPanel::_ref()->GetUseTabs || 0; my $msg = $mode ? ' HT' : ' ST'; _set_text( $msg, $index{'tab'} ); } sub EOL_info { my $mode = shift || Kephra::Document::Data::get_attribute('EOL') || _none_string() || 'no'; my $msg; if ( $mode eq 'none' or $mode eq 'no' ) { $msg = _none_string() || 'no' } elsif ( $mode eq 'cr' or $mode eq 'mac' ) { $msg = " Mac" } elsif ( $mode eq 'lf' or $mode eq 'lin' ) { $msg = "Linux" } elsif ( $mode eq 'cr+lf' or $mode eq 'win' ) { $msg = " Win" } _set_text( $msg, $index{EOL} ); } # # info messages, last cell # sub status_msg { info_msg(@_) } sub info_msg { my $msg; $msg .= $_ for @_; _set_text( $msg, $index{message} ); } sub refresh_info_msg { refresh_file_info() } sub info_msg_nr { my $nr = shift; if (defined $nr) { _config()->{msg_nr} = $nr} else { _config()->{msg_nr} } } sub next_file_info { my $info_nr = _config()->{msg_nr}; $info_nr = $info_nr >= 2 ? 0 : $info_nr + 1; set_info_msg_nr($info_nr); } sub set_info_msg_nr { my $info_nr = shift || 0; info_msg_nr($info_nr); refresh_file_info(); } sub refresh_file_info { my $msg = info_msg_nr() ? _get_file_info( _config()->{msg_nr} ) : ''; _set_text( $msg, $index{message} ); } sub _get_file_info { my $selector = shift; return '' unless $selector; my $l18n = _l18n()->{label}; # show how big file is if ( $selector == 1 ) { my $ep = Kephra::App::EditPanel::_ref(); return sprintf ' %s: %s %s: %s', $l18n->{chars}, _dotted_number( $ep->GetLength ), $l18n->{lines}, _dotted_number( $ep->GetLineCount ); # show how old file is } elsif ( $selector == 2 ) { my $file = Kephra::Document::Data::get_file_path(); if ($file) { my @time = localtime( $^T - ( -M $file ) * 86300 ); return sprintf ' %s: %02d:%02d - %02d.%02d.%d', $l18n->{last_change}, $time[2], $time[1], $time[3], $time[4] + 1, $time[5] + 1900; } else { my @time = localtime; return sprintf ' %s: %02d:%02d - %02d.%02d.%d', $l18n->{now_is}, $time[2], $time[1], $time[3], $time[4] + 1, $time[5] + 1900; } } } sub _dotted_number { local $_ = shift; 1 while s/^(\d+)(\d{3})/$1.$2/; return $_; } 1; =head1 NAME Kephra::App::StatusBar - =head1 DESCRIPTION =cut kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/EditPanel/0000755000175000017500000000000011633700043020457 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/lib/Kephra/App/EditPanel/Margin.pm0000644000175000017500000002223211573645310022243 0ustar rizlarizlapackage Kephra::App::EditPanel::Margin; our $VERSION = '0.13'; use strict; use warnings; my $mouse_y_pos; sub _ep_ref { Kephra::App::EditPanel::is($_[0]) ? $_[0] : Kephra::App::EditPanel::_ref() } sub _all_ref { Kephra::Document::Data::get_all_ep() } sub _edit_config { Kephra::App::EditPanel::_config() } sub _config { _edit_config()->{margin}} sub _line_config { _config()->{linenumber}} sub _fold_config { _config()->{fold} } sub _marker_config { _config()->{marker} } sub width { my $ep = _ep_ref(shift); my $width; $width += $ep->GetMarginWidth($_) for 0..2; $width } sub in_nr { my $x = shift; my $ep = _ep_ref(shift); my $border; for my $margin (0..2){ $border += $ep->GetMarginWidth($margin); return $margin if $x <= $border; } return -1; } sub apply_settings_here {# eval view settings for the margin of this edit panel obj my $ep = _ep_ref(shift); # defining the 3 margins $ep->SetMarginType( 0, &Wx::wxSTC_MARGIN_SYMBOL ); $ep->SetMarginType( 1, &Wx::wxSTC_MARGIN_NUMBER ); $ep->SetMarginType( 2, &Wx::wxSTC_MARGIN_SYMBOL ); $ep->SetMarginMask( 0, 0x01FFFFFF ); $ep->SetMarginMask( 1, 0 ); $ep->SetMarginMask( 2, &Wx::wxSTC_MASK_FOLDERS ); $ep->SetMarginSensitive( 0, 1 ); $ep->SetMarginSensitive( 1, 1 ); $ep->SetMarginSensitive( 2, 1 ); # setting folding markers my $color = \&Kephra::Config::color; my $f = &$color( _fold_config()->{fore_color} ); my $b = &$color( _fold_config()->{back_color} ); if (_fold_config()->{style} eq 'arrows') { $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDER, &Wx::wxSTC_MARK_ARROW, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEREND, &Wx::wxSTC_MARK_ARROW, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEROPEN, &Wx::wxSTC_MARK_ARROWDOWN,$b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEROPENMID,&Wx::wxSTC_MARK_ARROWDOWN,$b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERMIDTAIL,&Wx::wxSTC_MARK_EMPTY, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERTAIL, &Wx::wxSTC_MARK_EMPTY, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERSUB, &Wx::wxSTC_MARK_EMPTY, $b,$f); } else { $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDER, &Wx::wxSTC_MARK_BOXPLUS, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEREND, &Wx::wxSTC_MARK_BOXPLUSCONNECTED,$b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEROPEN, &Wx::wxSTC_MARK_BOXMINUS, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDEROPENMID,&Wx::wxSTC_MARK_BOXMINUSCONNECTED,$b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERMIDTAIL,&Wx::wxSTC_MARK_TCORNER, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERTAIL, &Wx::wxSTC_MARK_LCORNER, $b,$f); $ep->MarkerDefine(&Wx::wxSTC_MARKNUM_FOLDERSUB, &Wx::wxSTC_MARK_VLINE, $b,$f); } $ep->SetFoldFlags(16) if _fold_config()->{flag_line}; show_marker_here($ep); Kephra::Document::Data::set_attribute('margin_linemax', 0); #apply_line_number_width_here($ep); apply_line_number_color_here($ep); show_fold_here($ep); apply_text_width_here($ep); } sub refresh_changeable_settings { my $ep = _ep_ref(shift); apply_line_number_color_here($ep); apply_fold_flag_color_here($ep); } sub get_contextmenu_visibility { _edit_config()->{contextmenu}{margin} } sub switch_contextmenu_visibility { _edit_config()->{contextmenu}{margin} ^= 1 } # # deciding what to do when clicked on edit panel margin # sub on_left_click { my ($ep, $event, $nr) = @_; if ($nr < 2) {Kephra::Edit::Marker::toggle_marker_here(@_) } elsif ($nr == 2) {Kephra::App::EditPanel::Fold::toggle_here(@_) } } sub on_middle_click { my ($ep, $event, $nr) = @_; Kephra::Edit::Marker::toggle_bookmark_here(@_) if $nr < 2; Kephra::App::EditPanel::Fold::toggle_recursively($ep, $event) if $nr == 2; } sub on_right_click { my ($ep, $event, $nr) = @_; my ($x, $y) = ($event->GetX, $event->GetY); if ($nr > -1 and $nr < 2 and get_contextmenu_visibility() ){ $mouse_y_pos = $event->GetY; $ep->PopupMenu( Kephra::App::ContextMenu::get (_edit_config()->{contextmenu}{ID_margin} ), $x, $y); undef $mouse_y_pos; } elsif ($nr == 2) { $event->LeftIsDown ? Kephra::App::EditPanel::Fold::toggle_all() : Kephra::App::EditPanel::Fold::toggle_level($ep, $event); } } sub clicked_on_line { my $event = shift; return -1 unless defined $mouse_y_pos or ref $event eq 'Wx::MouseEvent'; my $ep = _ep_ref(); my $x = width($ep) + 5; # $mouse_y_pos is saved position where context menu poped so we can fold there my $y = defined $mouse_y_pos ? $mouse_y_pos : $event->GetY; my $max_y = $ep->GetSize->GetHeight; my $pos = $ep->PositionFromPointClose($x, $y); while ($pos < 0 and $y+10 < $max_y) { $pos = $ep->PositionFromPointClose($x, $y += 10); } return $ep->LineFromPosition($pos); } # # line number margin # sub line_number_visible{ _line_config->{visible} } sub switch_line_number { _line_config->{visible} ^= 1; apply_line_number_width() } sub apply_line_number_width { apply_line_number_width_here($_) for @{_all_ref()} } sub apply_line_number_width_here { my $ep = _ep_ref(shift); my $doc_nr = shift; $doc_nr = Kephra::Document::Data::nr_from_ep($ep) unless defined $doc_nr; my $config = _line_config(); my $char_width = Kephra::Document::Data::get_attribute('line_nr_margin_width', $doc_nr); if (not defined $char_width or not $char_width) { $char_width = needed_line_number_width($ep); Kephra::Document::Data::set_attribute ('line_nr_margin_width', $char_width, $doc_nr); } my $px_width = $config->{visible} ? $char_width * _edit_config()->{font}{size} : 0; $ep->SetMarginWidth( 1, $px_width ); if ($config->{autosize} and $config->{visible}) { Kephra::EventTable::add_call ('document.text.change', 'autosize_line_number', \&line_number_autosize_update); } else { Kephra::EventTable::del_call ('document.text.change', 'autosize_line_number'); } } sub set_line_number_width_here { my $width = shift; my $doc_nr = shift or Kephra::Document::Data::current_nr(); my $config = _line_config(); Kephra::Document::Data::set_attribute('line_nr_margin_width', $width, $doc_nr); Kephra::Document::Data::set_attribute('margin_linemax', 10 ** $width - 1, $doc_nr); apply_line_number_width_here( Kephra::Document::Data::_ep($doc_nr) ); } sub needed_line_number_width { my $width = length _ep_ref(shift)->GetLineCount; my $min = _line_config()->{min_width}; $width = $min if defined $min and $min and $min > $width; return $width; } sub autosize_line_number { my $ep = _ep_ref(shift); my $doc_nr = shift; $doc_nr = Kephra::Document::Data::nr_from_ep($ep) unless defined $doc_nr; my $config = _line_config(); return unless _line_config()->{autosize}; my $need = needed_line_number_width($ep); my $is = Kephra::Document::Data::get_attribute('line_nr_margin_width', $doc_nr); set_line_number_width_here($need, $doc_nr) if not defined $is or $need > $is; } sub line_number_autosize_update { my $line_max = Kephra::Document::Data::get_attribute('margin_linemax'); my $ep = _ep_ref(); autosize_line_number($ep) if $ep->GetLineCount > $line_max; } sub apply_line_number_color { apply_line_number_color_here($_) for @{_all_ref()} } sub apply_line_number_color_here { my $ep = _ep_ref(shift); my $config = _line_config(); my $color = \&Kephra::Config::color; $ep->StyleSetForeground(&Wx::wxSTC_STYLE_LINENUMBER,&$color($config->{fore_color})); $ep->StyleSetBackground(&Wx::wxSTC_STYLE_LINENUMBER,&$color($config->{back_color})); } # # marker margin # sub marker_visible { _marker_config->{visible} } sub show_marker { show_marker_here($_) for @{_all_ref()} } sub show_marker_here { my $ep = _ep_ref(shift); marker_visible() ? $ep->SetMarginWidth(0, 16) : $ep->SetMarginWidth(0, 0); } sub switch_marker { _marker_config->{visible} ^= 1; show_marker(); } # # fold margin # sub fold_visible { _fold_config()->{visible} } sub show_fold { show_fold_here($_) for @{_all_ref()} } sub show_fold_here { my $ep = _ep_ref(shift); my $visible = fold_visible(); my $width = $visible ? 16 : 0; $ep->SetProperty('fold' => $visible); $ep->SetMarginWidth( 2, $width ); Kephra::App::EditPanel::Fold::unfold_all() unless $visible; } sub switch_fold { _fold_config()->{visible} ^= 1; show_fold(); } sub apply_fold_flag_color { apply_text_width_here($_) for @{_all_ref()}; } sub apply_fold_flag_color_here { my $ep = _ep_ref(shift); my $color = Kephra::Config::color( _fold_config()->{fore_color} ); $ep->StyleSetForeground(&Wx::wxSTC_STYLE_DEFAULT, $color); } # # extra text margin # sub get_text_width { _config->{text} } sub set_text_width { _config->{text} = shift; apply_text_width(); } sub apply_text_width { apply_text_width_here($_) for @{_all_ref()} } sub apply_text_width_here { my $ep = _ep_ref(shift); my $width = get_text_width(); $ep->SetMargins( $width, $width ); } 1; #wxSTC_MARK_MINUS wxSTC_MARK_PLUS wxSTC_MARK_CIRCLE wxSTC_MARK_SHORTARROW #wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED =head1 NAME Kephra::App::EditPanel::Margin - managing margin visuals for marker, linenumber, folding & extra space =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/App/EditPanel/Indicator.pm0000644000175000017500000001213211575413241022736 0ustar rizlarizlapackage Kephra::App::EditPanel::Indicator; $VERSION = '0.01'; use strict; use warnings; sub _ref { Kephra::App::EditPanel::_ref() } sub _all_ref { Kephra::Document::Data::get_all_ep() } sub _config { Kephra::API::settings()->{editpanel}{indicator} } # aply all indicator setting to this edit panel sub apply_all_here { my $ep = shift || _ref(); my $indicator = _config(); my $color = \&Kephra::Config::color; $ep->SetCaretLineBack( &$color( $indicator->{caret_line}{color} ) ); $ep->SetCaretPeriod( $indicator->{caret}{period} ); $ep->SetCaretWidth( $indicator->{caret}{width} ); $ep->SetCaretForeground( &$color( $indicator->{caret}{color} ) ); if ( $indicator->{selection}{fore_color} ne '-1' ) { $ep->SetSelForeground ( 1, &$color( $indicator->{selection}{fore_color} ) ); } $ep->SetSelBackground( 1, &$color( $indicator->{selection}{back_color})); $ep->SetWhitespaceForeground ( 1, &$color( $indicator->{whitespace}{color} ) ); apply_whitespace_settings_here($ep); apply_bracelight_settings_here($ep); apply_caret_line_settings_here($ep); apply_indention_guide_settings_here($ep); apply_LLI_settings_here($ep); apply_EOL_settings_here($ep); } # whitespace # sub whitespace_visible { _config()->{whitespace}{visible} } sub apply_whitespace_settings_here { my $ep = shift || _ref(); $ep->SetViewWhiteSpace( whitespace_visible() ) } sub apply_whitespace_settings { apply_whitespace_settings_here($_) for @{_all_ref()} } sub switch_whitespace_visibility { my $v = _config()->{whitespace}{visible} ^= 1; apply_whitespace_settings(); return $v; } # bracelight # sub bracelight_visible { _config()->{bracelight}{visible} } sub switch_bracelight { bracelight_visible() ? set_bracelight_off() : set_bracelight_on(); } sub set_bracelight_on { _config()->{bracelight}{visible} = 1; apply_bracelight_settings() } sub set_bracelight_off { _config()->{bracelight}{visible} = 0; apply_bracelight_settings() }#{bracelight}{mode} = 'adjacent'|'surround'; sub apply_bracelight_settings { apply_bracelight_settings_here($_) for @{_all_ref()} } sub apply_bracelight_settings_here { my $ep = shift || _ref(); if (bracelight_visible()){ Kephra::EventTable::add_call ('caret.move', 'bracelight', \&paint_bracelight); paint_bracelight($ep); } else { Kephra::EventTable::del_call('caret.move', 'bracelight'); $ep->BraceHighlight( -1, -1 ); } } sub paint_bracelight { my $ep = shift || _ref(); my $pos = $ep->GetCurrentPos; my $tab_size = Kephra::Document::Data::get_attribute('tab_size'); my $matchpos = $ep->BraceMatch(--$pos); $matchpos = $ep->BraceMatch(++$pos) if $matchpos == -1; $ep->SetHighlightGuide(0); if ( $matchpos > -1 ) { # highlight braces $ep->BraceHighlight($matchpos, $pos); # asign pos to opening brace $pos = $matchpos if $matchpos < $pos; my $indent = $ep->GetLineIndentation( $ep->LineFromPosition($pos) ); # highlighting indenting guide $ep->SetHighlightGuide($indent) if $indent and $tab_size and $indent % $tab_size == 0; } else { # disbale all highlight $ep->BraceHighlight( -1, -1 ); $ep->BraceBadLight($pos-1) if $ep->GetTextRange($pos-1,$pos) =~ /{|}|\(|\)|\[|\]/; $ep->BraceBadLight($pos) if $pos < $ep->GetTextLength and $ep->GetTextRange( $pos, $pos + 1 ) =~ tr/{}()\[\]//; } } # indention guide # sub indention_guide_visible { _config()->{indent_guide}{visible} } sub apply_indention_guide_settings { apply_indention_guide_settings_here($_) for @{_all_ref()} } sub apply_indention_guide_settings_here { my $ep = shift || _ref(); $ep->SetIndentationGuides( indention_guide_visible() ) } sub switch_indention_guide_visibility { _config()->{indent_guide}{visible} ^= 1; apply_indention_guide_settings(); } # caret line # sub caret_line_visible { _config()->{caret_line}{visible} } sub apply_caret_line_settings_here { my $ep = shift || _ref(); $ep->SetCaretLineVisible( caret_line_visible() ); } sub apply_caret_line_settings { apply_caret_line_settings_here($_) for @{_all_ref()} } sub switch_caret_line_visibility { _config()->{caret_line}{visible} ^= 1; apply_caret_line_settings(); } # LLI = long line indicator = right margin # sub LLI_visible { _config()->{right_margin}{style} == &Wx::wxSTC_EDGE_LINE } sub apply_LLI_settings_here { my $ep = shift || _ref(); my $config = _config()->{right_margin}; my $color = \&Kephra::Config::color; $ep->SetEdgeColour( &$color( $config->{color} ) ); $ep->SetEdgeColumn( $config->{position} ); show_LLI( $config->{style}, $ep); } sub show_LLI { my $style = shift; my $ep = shift || _ref(); $ep->SetEdgeMode( $style ); } sub apply_LLI_settings { apply_LLI_settings_here($_) for @{_all_ref()} } sub switch_LLI_visibility { my $style = _config()->{right_margin}{style} = LLI_visible() ? &Wx::wxSTC_EDGE_NONE : &Wx::wxSTC_EDGE_LINE; apply_LLI_settings($style); } # EOL = end of line marker # sub EOL_visible { _config()->{end_of_line_marker} } sub switch_EOL_visibility { _config()->{end_of_line_marker} ^= 1; apply_EOL_settings(); } sub apply_EOL_settings { apply_EOL_settings_here($_) for @{_all_ref()} } sub apply_EOL_settings_here { my $ep = shift || _ref(); $ep->SetViewEOL( EOL_visible() ); } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/EditPanel/Fold.pm0000644000175000017500000001245111573645310021714 0ustar rizlarizlapackage Kephra::App::EditPanel::Fold; our $VERSION = '0.05'; use strict; use warnings; # sub _ep_ref { Kephra::App::EditPanel::is($_[0]) ? $_[0] : Kephra::App::EditPanel::_ref() } sub _config { Kephra::App::EditPanel::Margin::_config()->{fold} } sub _attribute { 'folded_lines' } # sub _is_head_level { # is this the fold level of a head node ? my $level = shift; return 1 if ($level % 1024) < (($level >> 16) % 1024); } sub _is_node { my $line = shift; return 1 if _ep_ref()->GetFoldParent($line+1) == $line; } sub _get_line { # my ($ep, $event) = @_; $ep = _ep_ref(); my $line = Kephra::App::EditPanel::Margin::clicked_on_line($event); # save position where context menu poped so we can fold there if ($line == -1){ if (defined $event and ref $event eq 'Wx::StyledTextEvent'){ $line = $ep->LineFromPosition( $event->GetPosition() ); } else { $line = $ep->GetCurrentLine() } } return $line; } # sub store { for my $doc_nr (@{Kephra::Document::Data::all_nr()}) { my $ep = Kephra::Document::Data::_ep($doc_nr); my @lines; for (0 .. $ep->GetLineCount()-1) { push @lines, $_ unless $ep->GetFoldExpanded( $_ ); } Kephra::Document::Data::set_attribute( _attribute(), \@lines, $doc_nr); } } sub restore { my $doc_nr = Kephra::Document::Data::valid_or_current_doc_nr(shift); my $ep = Kephra::Document::Data::_ep($doc_nr); return if $doc_nr < 0 or not ref $ep; my $lines = Kephra::Document::Data::get_attribute( _attribute(), $doc_nr); return unless ref $lines eq 'ARRAY'; for (reverse @$lines){ $ep->ToggleFold($_) if $ep->GetFoldExpanded($_); } } # # folding functions # sub toggle_here { my $ep = _ep_ref(); my $line = _get_line(@_); $ep->ToggleFold($line); Kephra::Edit::Goto::next_visible_pos() if _config()->{keep_caret_visible} and not $ep->GetFoldExpanded($line); } sub toggle_recursively { my $ep = _ep_ref(); my $line = _get_line(@_); unless ( _is_node( $line ) ) { $line = $ep->GetFoldParent($line); return if $line == -1; } my $node_xpanded = not $ep->GetFoldExpanded($line); my $cursor = $ep->GetLastChild($line, -1); while ($cursor >= $line) { $ep->ToggleFold($cursor) if $ep->GetFoldExpanded($cursor) xor $node_xpanded; $cursor--; } Kephra::Edit::Goto::next_visible_pos() if _config()->{keep_caret_visible} and not $node_xpanded; } sub toggle_siblings { toggle_siblings_of_line( _get_line(@_) ) } sub toggle_siblings_of_line { my $ep = _ep_ref(); my $line = shift; return if $line < 0 or $line > ($ep->GetLineCount()-1); my $level = $ep->GetFoldLevel($line); my $parent = $ep->GetFoldParent($line); my $xp = not $ep->GetFoldExpanded($line); my $first_line = $parent; my $cursor = $ep->GetLastChild($parent, -1 ); ($first_line, $cursor) = (-1, $ep->GetLineCount()-2) if $parent == -1; while ($cursor > $first_line){ $ep->ToggleFold($cursor) if $ep->GetFoldLevel($cursor) == $level and ($ep->GetFoldExpanded($cursor) xor $xp); $cursor--; } Kephra::Edit::Goto::next_visible_pos() if _config()->{keep_caret_visible} and not $xp; $ep->EnsureCaretVisible; } sub toggle_level { my $ep = _ep_ref(); my $line = _get_line(@_); return if $line < 0 or $line > ($ep->GetLineCount()-1); my $level = $ep->GetFoldLevel($line); my $xp = not $ep->GetFoldExpanded($line); for (0 .. $ep->GetLineCount()-1) { $ep->ToggleFold($_) if $ep->GetFoldLevel($_) == $level and ($ep->GetFoldExpanded($_) xor $xp); } Kephra::Edit::Goto::next_visible_pos() if _config()->{keep_caret_visible} and not $xp; $ep->EnsureCaretVisible; } sub toggle_all { my $ep = _ep_ref(); my $newline = my $oldline = $ep->GetLineCount(); # looking for the head of heads // capi di capi while ($oldline == $newline and $oldline > 0){ $newline = --$oldline; $newline = $ep->GetFoldParent($newline) while $ep->GetFoldParent($newline) > -1; } my $root_unfolded = $ep->GetFoldExpanded($newline); $root_unfolded ? fold_all() : unfold_all(); Kephra::Edit::Goto::next_visible_pos() if _config()->{keep_caret_visible} and $root_unfolded; } sub fold_all { my $ep = _ep_ref(); my $cursor = $ep->GetLineCount()-1; while ($cursor > -1) { $ep->ToggleFold($cursor) if $ep->GetFoldExpanded($cursor); $cursor--; } } sub unfold_all { my $ep = _ep_ref(); my $cursor = $ep->GetLineCount()-1; while ($cursor > -1) { $ep->ToggleFold($cursor) unless $ep->GetFoldExpanded($cursor); $cursor--; } } sub show_folded_children { #my $ep = _ep_ref(); #my $parent = _get_line(@_); #unless ( _is_head_level( $ep->GetFoldLevel($parent) ) ) { #$parent = $ep->GetFoldParent($parent); #return if $parent == -1; #} #$ep->ToggleFold($parent) unless $ep->GetFoldExpanded($parent); #my $cursor = $ep->GetLastChild( $parent, -1 ); #my $level = $ep->GetFoldLevel($parent) >> 16; #while (@cursor > $parent) { #$ep->ToggleFold($cursor) if $ep->GetFoldLevel($cursor) % 2048 == $level #and $ep->GetFoldExpanded($cursor); #$cursor--; #} } 1; =head1 NAME Kephra::App::EditPanel::Fold - code folding functions =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/App/SearchBar.pm0000644000175000017500000002173111573645310021016 0ustar rizlarizlapackage Kephra::App::SearchBar; our $VERSION = '0.15'; use strict; use warnings; sub _ID { 'searchbar' } sub _ref { Kephra::ToolBar::_ref( _ID(), $_[0]) } sub _config { Kephra::API::settings()->{app}{ _ID() } } sub _search_config { Kephra::API::settings()->{search} } my $highlight_search; # set 1 if searchbar turns red # sub create { # load searchbar definition my $bar_def = Kephra::Config::File::load_from_node_data( _config() ); unless ($bar_def) { $bar_def = Kephra::Config::Tree::get_subtree ( Kephra::Config::Default::toolbars(), _ID() ); } # create searchbar with buttons my $rest_widgets = Kephra::ToolBar::create_new( _ID(), $bar_def); my $bar = _ref(); # apply special searchbar widgets for my $item_data (@$rest_widgets){ my $ctrl; if ($item_data->{type} eq 'combobox' and $item_data->{id} eq 'find'){ my $find_input = $bar->{find_input} = Wx::ComboBox->new ( $bar , -1, '', [-1,-1], [$item_data->{size},-1], [], &Wx::wxTE_PROCESS_ENTER ); $find_input->SetDropTarget ( Kephra::Edit::Search::InputTarget->new($find_input, 'find')); $find_input->SetValue( Kephra::Edit::Search::get_find_item() ); $find_input->SetSize($item_data->{size},-1) if $item_data->{size}; if ( _search_config()->{history}{use} ){ $find_input->Append($_) for @{ Kephra::Edit::Search::get_find_history() } } Wx::Event::EVT_TEXT( $bar, $find_input, sub { my ($bar, $event) = @_; my $old = Kephra::Edit::Search::get_find_item(); my $new = $find_input->GetValue; if ($new ne $old){ Kephra::Edit::Search::set_find_item( $new ); Kephra::Edit::Search::first_increment() if _search_config()->{attribute}{incremental} and Wx::Window::FindFocus() eq $find_input; } } ); Wx::Event::EVT_KEY_DOWN( $find_input, sub { my ( $fi, $event ) = @_; my $key = $event->GetKeyCode; my $found_something; my $ep = Kephra::App::EditPanel::_ref(); if ( $key == &Wx::WXK_RETURN ) { if ($event->ControlDown and $event->ShiftDown) {Kephra::Edit::Search::find_last() } elsif ($event->ControlDown){Kephra::Edit::Search::find_first()} elsif ($event->ShiftDown) {Kephra::Edit::Search::find_prev() } else {Kephra::Edit::Search::find_next() } } elsif ($key == &Wx::WXK_F3){ $event->ShiftDown ? Kephra::Edit::Search::find_prev() : Kephra::Edit::Search::find_next(); } elsif ($key == &Wx::WXK_ESCAPE) { give_editpanel_focus_back(); switch_visibility(); } elsif ($key == 65 and $event->ControlDown) {# A $bar->{find_input}->SetSelection (0, $bar->{find_input}->GetLastPosition); } elsif ($key == 70 and $event->ControlDown) {# F give_editpanel_focus_back() } elsif ( $key == 71 ) { # G if ($event->ControlDown and $event->ShiftDown){ give_editpanel_focus_back(); Kephra::Edit::Goto::last_edit(); } } elsif ($key == 81) { # Q switch_visibility() if $event->ControlDown; #} elsif ( $key == &Wx::WXK_LEFT ){ &Wx::wxSTC_CMD_CHARLEFT return #} elsif ($key == &Wx::WXK_RIGHT ){ &Wx::wxSTC_CMD_CHARRIGHT return; } elsif ($key == &Wx::WXK_UP){ if ($event->ControlDown) { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_LINESCROLLUP ); return; } } elsif ($key == &Wx::WXK_DOWN) { if ($event->ControlDown) { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_LINESCROLLDOWN ); return; } } elsif ($key == &Wx::WXK_PAGEUP) { if ($event->ControlDown) { my $pos = $bar->{find_input}->GetInsertionPoint; Kephra::Document::Change::tab_left(); Wx::Window::SetFocus($bar->{find_input}); $bar->{find_input}->SetInsertionPoint($pos); } else { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_PAGEUP ); } return; } elsif ($key == &Wx::WXK_PAGEDOWN){ if ($event->ControlDown) { my $pos = $bar->{find_input}->GetInsertionPoint; Kephra::Document::Change::tab_right(); Wx::Window::SetFocus($bar->{find_input}); $bar->{find_input}->SetInsertionPoint($pos); } else { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_PAGEDOWN ); } return; } elsif ($key == &Wx::WXK_HOME and $event->ControlDown) { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_DOCUMENTSTART ); return; } elsif ($key == &Wx::WXK_END and $event->ControlDown) { $ep->CmdKeyExecute( &Wx::wxSTC_CMD_DOCUMENTEND ); return; } elsif ($key == &Wx::WXK_BACK and $event->ControlDown and $event->ShiftDown) { my $pos = $bar->{find_input}->GetInsertionPoint; Kephra::Document::Change::switch_back(); Wx::Window::SetFocus($bar->{find_input}); $bar->{find_input}->SetInsertionPoint($pos); } else { #print "$key\n" } $event->Skip; } ); #Wx::Event::EVT_COMBOBOX( $find_input, -1, sub{ } ); Wx::Event::EVT_ENTER_WINDOW( $find_input, sub { Wx::Window::SetFocus($find_input) if _config()->{autofocus}; disconnect_find_input(); }); Wx::Event::EVT_LEAVE_WINDOW( $find_input,sub{connect_find_input($find_input) }); connect_find_input($find_input); $highlight_search = 1; $ctrl = $find_input; } elsif ($item_data->{type} eq 'combobox' and $item_data->{id} eq 'replace'){ my $replace_input = $bar->{replace_input} = Wx::ComboBox->new ( $bar , -1, '', [-1,-1], [$item_data->{size},-1], [], &Wx::wxTE_PROCESS_ENTER ); $replace_input->SetDropTarget ( Kephra::Edit::Search::InputTarget->new($replace_input, 'replace')); $replace_input->SetValue( Kephra::Edit::Search::get_replace_item() ); $replace_input->SetSize($item_data->{size},-1) if $item_data->{size}; if ( _search_config()->{history}{use} ){ $replace_input->Append($_) for @{ Kephra::Edit::Search::get_replace_history() } } $ctrl = $replace_input; } if (ref $ctrl) { $bar->InsertControl( $item_data->{pos}, $ctrl ); } } Wx::Event::EVT_MIDDLE_DOWN( $bar, sub { my ($widget, $event) = @_; my $ep = Kephra::App::EditPanel::_ref(); if ($ep->GetSelectedText){ Kephra::Edit::Search::set_selection_as_find_item(); Kephra::Edit::Search::find_next(); } else { Kephra::Edit::Goto::last_edit(); } } ); Wx::Event::EVT_RIGHT_DOWN ( $bar, sub { return unless get_contextmenu_visibility(); my ($widget, $event) = @_; my ($x, $y) = ($event->GetX, $event->GetY); my $menu = Kephra::App::ContextMenu::get(_config()->{contextmenu}); $bar->PopupMenu($menu, $x, $y) if Kephra::Menu::is($menu); } ); Wx::Event::EVT_LEAVE_WINDOW($bar, \&leave_focus); $bar->Realize; $bar; } sub destroy{ Kephra::ToolBar::destroy ( _ID() ) } # sub connect_find_input { my $find_input = shift; my $ID = _ID(); my $add_call = \&Kephra::EventTable::add_call; &$add_call( 'find.item.changed', $ID.'_input_refresh', sub { my $value = Kephra::Edit::Search::get_find_item(); return if $value eq $find_input->GetValue; $find_input->SetValue( $value ); my $pos = $find_input->GetLastPosition; $find_input->SetSelection($pos,$pos); }, $ID); &$add_call( 'find.item.history.changed', $ID.'_popupmenu', sub { $find_input->Clear(); $find_input->Append($_) for @{ Kephra::Edit::Search::get_find_history() }; $find_input->SetValue( Kephra::Edit::Search::get_find_item() ); $find_input->SetInsertionPointEnd; }, $ID); &$add_call( 'find', $ID.'_color_refresh', \&colour_find_input, $ID); } sub disconnect_find_input{ Kephra::EventTable::del_own_subscriptions(_ID()) } # sub colour_find_input { my $find_input = _ref()->{find_input}; my $found_something = Kephra::Edit::Search::_find_pos() > -1 ? 1 : 0; return if $highlight_search eq $found_something; $highlight_search = $found_something; if ($found_something){ $find_input->SetForegroundColour( Wx::Colour->new( 0x00, 0x00, 0x55 ) ); $find_input->SetBackgroundColour( Wx::Colour->new( 0xff, 0xff, 0xff ) ); } else { $find_input->SetForegroundColour( Wx::Colour->new( 0xff, 0x33, 0x33 ) ); $find_input->SetBackgroundColour( Wx::Colour->new( 0xff, 0xff, 0xff ) ); } $find_input->Refresh; } sub enter_focus { my $bar = _ref(); switch_visibility() unless get_visibility(); Wx::Window::SetFocus($bar->{find_input}) if defined $bar->{find_input}; } sub leave_focus { switch_visibility() if _config()->{autohide} } # sub give_editpanel_focus_back{ leave_focus(); Wx::Window::SetFocus( Kephra::App::EditPanel::_ref() ); } sub position { _config()->{position} } # # set visibility sub show { my $visible = shift || get_visibility(); my $bar = _ref(); return unless $bar; my $sizer = $bar->GetParent->GetSizer; $sizer->Show( $bar, $visible ); $sizer->Layout(); _config()->{visible} = $visible; } sub get_visibility { _config()->{visible} } sub switch_visibility { _config()->{visible} ^= 1; show(); } sub get_contextmenu_visibility { _config()->{contextmenu_visible} } sub switch_contextmenu_visibility { _config()->{contextmenu_visible} ^= 1 } 1;kephra-0.4.3.32+dfsg.orig/lib/Kephra/App/TabBar.pm0000644000175000017500000002427311573645310020323 0ustar rizlarizlapackage Kephra::App::TabBar; our $VERSION = '0.18'; use strict; use warnings; # internal data my $notebook; sub _ref { $notebook = ref $_[0] eq 'Wx::AuiNotebook' ? $_[0] : $notebook } sub _config { my $cfg = Kephra::API::settings(); $cfg->{app}{tabbar} if keys %$cfg } my @doc2tab_pos; # tab index numbers in doc order my @tab2doc_pos; # doc numbers in tab index order my @doc2vis_pos; # visible tab pos number in doc order my @vis2doc_pos; # doc numbers in visible tab order sub _update_doc_pos { @doc2tab_pos = (); @doc2vis_pos = (); $doc2tab_pos[ $tab2doc_pos[$_] ] = $_ for 0 .. $#tab2doc_pos; $doc2vis_pos[ $vis2doc_pos[$_] ] = $_ for 0 .. $#vis2doc_pos; } sub _validate_doc_nr { &Kephra::Document::Data::validate_doc_nr } sub _doc2tab_pos { my $nr = _validate_doc_nr(shift); return $nr == -1 ? -1 : $doc2tab_pos[$nr]; } sub _tab2doc_pos { my $nr = _validate_doc_nr(shift); return $nr == -1 ? -1 : $tab2doc_pos[$nr]; } sub _vis2doc_pos { my $nr = _validate_doc_nr(shift); return $nr == -1 ? -1 : $vis2doc_pos[$nr]; } sub _doc2vis_pos { my $nr = _validate_doc_nr(shift); return $nr == -1 ? -1 : $doc2vis_pos[$nr]; } sub _move_vis_pos { my $from = _validate_doc_nr(shift); my $to = _validate_doc_nr(shift); return if $from == -1 or $to == -1; my $doc_nr = splice @vis2doc_pos, $from, 1; splice @vis2doc_pos, $to, 0, $doc_nr; _update_doc_pos(); #print "vis_order: @vis2doc_pos, tab_order: @tab2doc_pos\n"; #print $notebook->GetPageIndex( Kephra::Document::Data::_ep($_) )."\n" for @{Kephra::Document::Data::all_nr()}; } sub _move_tab_pos { my $from = _validate_doc_nr(shift); my $to = _validate_doc_nr(shift); return if $from == -1 or $to == -1; my $doc_nr = splice @tab2doc_pos, $from, 1; splice @tab2doc_pos, $to, 0, $doc_nr; _update_doc_pos(); #print "taborder: @tab2doc_pos, doc_order: @doc_order\n"; #print $notebook->GetPageIndex( Kephra::Document::Data::_ep($_) )."\n" for @{Kephra::Document::Data::all_nr()}; } sub _remove_tab { my $tab_nr = _validate_doc_nr(shift); return if $tab_nr == -1; my $doc_nr = $tab2doc_pos[$tab_nr]; my $vis_nr = $doc2vis_pos[$doc_nr]; splice @tab2doc_pos, $tab_nr, 1; splice @vis2doc_pos, $vis_nr, 1; for (0 .. $#tab2doc_pos) {$tab2doc_pos[$_]-- if $tab2doc_pos[$_] > $doc_nr} for (0 .. $#vis2doc_pos) {$vis2doc_pos[$_]-- if $vis2doc_pos[$_] > $doc_nr} _update_doc_pos(); #print "vis_order: @vis2doc_pos, tab_order: @tab2doc_pos\n"; } # # basic toolbar creation # sub create { # create notebook if there is none my $notebook = _ref(); $notebook->Destroy if defined $notebook; $notebook = Wx::AuiNotebook->new (Kephra::App::Window::_ref(),-1, [0,0], [-1,23], &Wx::wxAUI_NB_TOP | &Wx::wxAUI_NB_SCROLL_BUTTONS); _ref($notebook); #Wx::Event::EVT_LEFT_UP( $notebook, sub { #my ($tabs, $event) = @_; print "\n left up\n"; #Kephra::Document::Data::set_value('b4tabchange', $tabs->GetSelection); #$event->Skip; #}); #Wx::Event::EVT_LEFT_DOWN( $notebook, sub { #my ($tabs, $event) = @_; print "\n left down\n"; #Kephra::Document::Change::switch_back() #if Kephra::Document::Data::get_value('b4tabchange')==$tabs->GetSelection; #$event->Skip; #}); my $begin_drag_index; Wx::Event::EVT_AUINOTEBOOK_BEGIN_DRAG($notebook, -1, sub { $begin_drag_index = $_[1]->GetSelection; }); Wx::Event::EVT_AUINOTEBOOK_END_DRAG($notebook, -1, sub { _move_vis_pos($begin_drag_index, $_[1]->GetSelection); #rotate_tab($_[1]->GetSelection - $begin_drag_index); Kephra::App::EditPanel::gets_focus(); Kephra::EventTable::trigger('document.list'); }); Wx::Event::EVT_AUINOTEBOOK_PAGE_CHANGED( $notebook, -1, sub { my ( $bar, $event ) = @_; my $new_nr = _tab2doc_pos( $event->GetSelection ); my $old_nr = _tab2doc_pos( $event->GetOldSelection ); #print "=begin change ".$event->GetSelection." page ; docs: $old_nr -> $new_nr\n"; #print "=end change page $nr\n"; Kephra::Document::Change::to_number( $new_nr, $old_nr); Kephra::App::EditPanel::gets_focus(); $event->Skip; }); Wx::Event::EVT_AUINOTEBOOK_PAGE_CLOSE( $notebook, -1, sub { my ( $bar, $event ) = @_; Kephra::File::close_nr( _tab2doc_pos($event->GetSelection) ); $event->Veto; }); } sub apply_settings { my $notebook = _ref(); # Optional middle click over the tabs if ( _config()->{middle_click} ) { Wx::Event::EVT_MIDDLE_UP( $notebook, Kephra::CommandList::get_cmd_property( _config()->{middle_click},'call') ); } my $style = $notebook->GetWindowStyleFlag(); $style |= &Wx::wxAUI_NB_TAB_MOVE if _config->{movable_tabs}; $style |= &Wx::wxAUI_NB_WINDOWLIST_BUTTON if _config->{tablist_button}; if (_config->{close_button} =~ /all/){ $style |= &Wx::wxAUI_NB_CLOSE_ON_ALL_TABS} elsif (_config->{close_button} =~ /one/){ $style |= &Wx::wxAUI_NB_CLOSE_BUTTON} elsif (_config->{close_button} =~ /current/){$style |= &Wx::wxAUI_NB_CLOSE_ON_ACTIVE_TAB} elsif (_config->{close_button} =~ /active/) {$style |= &Wx::wxAUI_NB_CLOSE_ON_ACTIVE_TAB} # wxAUI_NB_TAB_SPLIT wxAUI_NB_TAB_EXTERNAL_MOVE $notebook->SetWindowStyle( $style ); show(); } # # tab functions # sub add_edit_tab { my $current_nr = Kephra::Document::Data::current_nr(); my $doc_nr = shift || $current_nr; my $config = _config(); my $mode = (ref $config and defined $config->{insert_new_tab}) ? $config->{insert_new_tab} : 'rightmost'; my $vis_pos; $vis_pos = 0 if $mode eq 'leftmost'; $vis_pos = $current_nr if $mode eq 'left'; $vis_pos = $current_nr+1 if $mode eq 'right'; $vis_pos = $doc_nr if $mode eq 'rightmost'; my $stc = Kephra::App::EditPanel::new(); Kephra::Document::Data::set_attribute('ep_ref', $stc, $doc_nr); #my $panel = Wx::Panel->new( $notebook, -1); #$stc->Reparent($panel); #my $sizer = Wx::BoxSizer->new( &Wx::wxVERTICAL ); #$sizer->Add( $stc, 1, &Wx::wxGROW, 0); #$panel->SetSizer($sizer); #$panel->SetAutoLayout(1); #$notebook->Freeze(); #$notebook->Thaw(); my $notebook = _ref(); #$notebook->InsertPage( $vis_pos, $stc, '', 0 ); $notebook->AddPage( $stc, '', 0 ); $notebook->Layout(); $stc->Layout(); splice @tab2doc_pos, $doc_nr, 0, $doc_nr; # splice @tab2doc_pos, $vis_pos, 0, $doc_nr; splice @vis2doc_pos, $doc_nr, 0, $doc_nr; # splice @vis2doc_pos, $vis_pos, 0, $doc_nr; _update_doc_pos(); return $stc; } sub add_panel_tab { my $doc_nr = shift || Kephra::Document::Data::current_nr(); my $panel = shift; return unless defined $panel and substr(ref $panel, 0, 4) eq 'Wx::'; $panel->Reparent($notebook); $notebook->InsertPage($panel, '', 0 ); # attention no $pos yet return $panel; } sub raise_tab_by_doc_nr { raise_tab_by_tab_nr( _doc2tab_pos(shift) ) } sub raise_tab_by_vis_nr { raise_tab_by_tab_nr( _doc2tab_pos( _vis2doc_pos(shift)))} sub raise_tab_by_tab_nr { my $nr = shift; $notebook->SetSelection($nr) unless $nr == $notebook->GetSelection; } sub raise_tab_left { my $vis_nr = _doc2vis_pos( Kephra::Document::Data::current_nr() ); raise_tab_by_vis_nr( Kephra::Document::Data::next_nr(-1, $vis_nr) ); } sub raise_tab_right { my $vis_nr = _doc2vis_pos( Kephra::Document::Data::current_nr() ); raise_tab_by_vis_nr( Kephra::Document::Data::next_nr(1, $vis_nr) ); } sub rotate_tab_left { rotate_tab(-1) } sub rotate_tab_right{ rotate_tab( 1) } sub rotate_tab { return unless _config()->{movable_tabs}; my $rot_step = shift; my $doc_nr = Kephra::Document::Data::current_nr(); my $old_tab_pos = _doc2tab_pos( $doc_nr ); my $old_vis_pos = _doc2vis_pos( $doc_nr ); my $new_vis_pos = Kephra::Document::Data::next_nr($rot_step, $old_vis_pos); my $notebook = _ref(); my $label = $notebook->GetPageText( $old_tab_pos ); my $stc = Kephra::Document::Data::_ep($doc_nr); $notebook->RemovePage( $old_tab_pos ); $notebook->InsertPage( $new_vis_pos, $stc, $label, 0 ); _move_tab_pos( $old_tab_pos, $new_vis_pos ); _move_vis_pos( $old_vis_pos, $new_vis_pos ); raise_tab_by_vis_nr($new_vis_pos); Kephra::EventTable::trigger('document.list'); } sub delete_tab_by_doc_nr { delete_tab_by_tab_nr( _doc2tab_pos(shift) ) } sub delete_tab_by_tab_nr { my $tab_nr = shift; my $doc_nr = _tab2doc_pos($tab_nr); my $notebook = _ref(); #print "delete tab $tab_nr \n"; my $stc = Kephra::Document::Data::_ep($doc_nr); #print $notebook->GetSelection."current, del tab nr $nr\n"; _remove_tab($tab_nr); $notebook->RemovePage($tab_nr); # DeletePage,RemovePage $stc->Destroy(); # $xw->Reparent( undef ); } # # refresh the label of given number # sub refresh_label { my $doc_nr = shift; $doc_nr = Kephra::Document::Data::current_nr() unless defined $doc_nr; return unless _validate_doc_nr($doc_nr) > -1; my $config = _config(); my $untitled = Kephra::Config::Localisation::strings()->{app}{general}{untitled}; my $label = Kephra::Document::Data::get_attribute ( $config->{file_info}, $doc_nr ) || "<$untitled>"; # shorten too long filenames my $max_width = $config->{max_tab_width}; if ( length($label) > $max_width and $max_width > 7 ) { $label = substr( $label, 0, $max_width - 3 ) . '...'; } # set config files in square brackets if ( $config->{mark_configs} and Kephra::Document::Data::get_attribute('config_file', $doc_nr) and Kephra::API::settings()->{file}{save}{reload_config} ) { $label = '$ ' . $label; } $label = ( $doc_nr + 1 ) . ' ' . $label if $config->{number_tabs}; Kephra::Document::Data::set_attribute('label', $label); if ( $config->{info_symbol} ) { $label .= ' #' if Kephra::Document::Data::get_attribute('editable'); $label .= ' *' if Kephra::Document::Data::get_attribute('modified'); } $notebook->SetPageText( _doc2tab_pos($doc_nr), $label ); } sub refresh_current_label { refresh_label(Kephra::Document::Data::current_nr()) } sub refresh_all_label { if ( Kephra::Document::Data::get_value('loaded') ) { refresh_label($_) for @{ Kephra::Document::Data::all_nr() }; raise_tab_by_doc_nr( Kephra::Document::Data::current_nr() ); } } # # tabbar and his menu visibility # sub get_visibility { _config()->{visible} } sub set_visibility { _config()->{visible} = shift } sub switch_visibility { show( _config()->{visible} ^ 1 ) } sub show { my $visible = shift; $visible = get_visibility() unless defined $visible; $visible ? _ref()->SetTabCtrlHeight(25) : _ref()->SetTabCtrlHeight(0); set_visibility($visible); } sub switch_contextmenu_visibility { _config()->{contextmenu_use} ^= 1; Kephra::App::ContextMenu::connect_tabbar(); } sub get_contextmenu_visibility { _config()->{contextmenu_use} } 1; kephra-0.4.3.32+dfsg.orig/lib/Kephra/Document.pm0000644000175000017500000001500411573645310020216 0ustar rizlarizlapackage Kephra::Document; our $VERSION = '0.53'; use strict; use warnings; sub _file_config { Kephra::File::_config() } sub _new_if_allowed { # new(empty), add(open) restore(open session) my $mode = shift; my $ep = Kephra::App::EditPanel::_ref(); my $file = Kephra::Document::Data::get_file_path(); my $old_doc_nr= Kephra::Document::Data::current_nr(); my $new_doc_nr= Kephra::Document::Data::get_value('buffer'); my $config = _file_config()->{open}; # check settings # in single doc mode close previous doc first if ( $config->{single_doc} == 1 ) { Kephra::File::close_current(); return 0; } unless ( $mode eq 'new' ) { if ($ep->GetText eq '' and $ep->GetModify == 0 and (not $file or not -e $file)){ return $old_doc_nr if ($config->{into_empty_doc} == 1) or ($config->{into_only_empty_doc} == 1 and $new_doc_nr == 1 ); } } # still there? good, now we make a new document Kephra::Document::Data::create_slot($new_doc_nr); Kephra::App::TabBar::add_edit_tab($new_doc_nr); Kephra::App::EditPanel::apply_settings_here ( Kephra::Document::Data::_ep($new_doc_nr) ); Kephra::Document::Data::inc_value('buffer'); return $new_doc_nr; } sub _load_file_in_buffer { my $file = shift; my $doc_nr = shift || Kephra::Document::Data::current_nr(); my $ep = Kephra::Document::Data::_ep($doc_nr); return unless -r $file and Kephra::App::EditPanel::is( $ep ); $ep->ClearAll(); # retrieve if utf is set Kephra::Document::Data::set_file_path($file, $doc_nr); if (Kephra::File::IO::open_buffer($doc_nr) ){ Kephra::File::_remember_save_moment($doc_nr); $ep->EmptyUndoBuffer; $ep->SetSavePoint; Kephra::Document::Data::inc_value('loaded'); } } # sub new { # make document empty and reset all document properties to default my $old_nr = Kephra::Document::Data::current_nr(); my $doc_nr = _new_if_allowed('new'); Kephra::Document::Data::set_previous_nr( $old_nr ); Kephra::Document::Data::set_current_nr( $doc_nr ); Kephra::App::TabBar::raise_tab_by_doc_nr($doc_nr); &reset($doc_nr); Kephra::EventTable::trigger('document.new'); } sub reset { # restore once opened file from its settings my $doc_nr = Kephra::Document::Data::validate_doc_nr(shift); $doc_nr = Kephra::Document::Data::current_nr() unless defined $doc_nr; my $ep = Kephra::Document::Data::_ep( $doc_nr ); Kephra::Document::Property::set_readonly(0, $doc_nr); $ep->ClearAll; $ep->EmptyUndoBuffer; $ep->SetSavePoint; Kephra::Document::Data::set_attributes_to_default($doc_nr, ''); Kephra::Document::Data::evaluate_attributes($doc_nr); Kephra::App::Window::refresh_title(); Kephra::App::TabBar::refresh_label($doc_nr); Kephra::App::StatusBar::refresh_all_cells(); Kephra::Edit::Marker::delete_doc($doc_nr); Kephra::App::EditPanel::Margin::autosize_line_number($ep, $doc_nr); } sub restore { # add newly opened file from known settings my %file_settings = %{ shift; }; my $file = $file_settings{file_path}; my $config = _file_config(); if ( -e $file ) { # open only text files and empty files return if $config->{open}{only_text} == 1 and -B $file; # check if file is already open and goto this already opened return if $config->{open}{each_once} == 1 and Kephra::Document::Data::file_already_open($file); my $doc_nr = _new_if_allowed('restore'); $file_settings{ep_ref} = Kephra::Document::Data::_ep($doc_nr); Kephra::Document::Data::set_all_attributes(\%file_settings, $doc_nr); _load_file_in_buffer($file, $doc_nr); Kephra::Document::Data::set_current_nr($doc_nr); Kephra::Document::Data::set_file_path($file, $doc_nr); Kephra::Document::Data::evaluate_attributes($doc_nr); Kephra::App::TabBar::raise_tab_by_doc_nr($doc_nr); return $doc_nr; } return -1; } sub add { # create a new document if settings allow it my $file = shift; my $config = _file_config(); my $old_nr = Kephra::Document::Data::current_nr(); if ( defined $file and -e $file ) { $file = Kephra::Config::standartize_path_slashes( $file ); # open only text files and empty files # return if -B $file and $config->{open}{only_text} == 1; # check if file is already open and goto this already opened my $other_nr = Kephra::Document::Data::nr_from_file_path($file); return Kephra::Document::Change::to_nr( $other_nr ) if $config->{open}{each_once} == 1 and $other_nr > -1; # save constantly changing settings Kephra::Document::Data::update_attributes(); # create new edit panel my $doc_nr = _new_if_allowed('add') || 0; # return because settings didn't allow new doc return if $doc_nr > 0 and $doc_nr == $old_nr; Kephra::Document::Data::set_current_nr($doc_nr); Kephra::Document::Data::set_previous_nr($old_nr); # load default settings for doc attributes Kephra::Document::Data::set_attributes_to_default($doc_nr, $file); _load_file_in_buffer($file, $doc_nr); Kephra::Document::Property::convert_EOL(), Kephra::File::_save_nr($doc_nr) unless Kephra::Document::Data::get_attribute{'EOL',$doc_nr} eq 'auto'; Kephra::Document::Data::evaluate_attributes($doc_nr); Kephra::App::Window::refresh_title(); Kephra::App::TabBar::raise_tab_by_doc_nr($doc_nr); Kephra::App::EditPanel::Margin::autosize_line_number(); Kephra::EventTable::trigger('document.new'); Kephra::EventTable::trigger('document.list'); } } # document wide coverter sub convert_indent2tabs { _edit( \&Kephra::Edit::Convert::indent2tabs )} sub convert_indent2spaces { _edit( \&Kephra::Edit::Convert::indent2spaces)} sub convert_spaces2tabs { _edit( \&Kephra::Edit::Convert::spaces2tabs )} sub convert_tabs2spaces { _edit( \&Kephra::Edit::Convert::tabs2spaces )} sub del_trailing_spaces { _edit( \&Kephra::Edit::Format::del_trailing_spaces)} sub save_state { } sub restore_styte { } # sub _edit { my $coderef = shift; return unless ref $coderef eq 'CODE'; Kephra::Edit::_save_positions(); Kephra::Edit::Select::all(); &$coderef(); Kephra::Edit::_restore_positions(); 1; } sub do_with_all { my $code = shift; return unless ref $code eq 'CODE'; my $nr = Kephra::Document::Data::current_nr(); my $attr = Kephra::Document::Data::_attributes(); Kephra::Document::Data::update_attributes(); for ( @{ Kephra::Document::Data::all_nr() } ) { Kephra::Document::Data::set_current_nr($_); &$code( $attr->[$_] ); } Kephra::Document::Data::set_current_nr($nr); Kephra::Document::Data::evaluate_attributes($nr); } 1; =head1 NAME Kephra::Document - general doc functions =head1 DESCRIPTION =cutkephra-0.4.3.32+dfsg.orig/lib/Kephra/Help.pm0000644000175000017500000000261211573645310017331 0ustar rizlarizlapackage Kephra::Help; our $VERSION = '0.04'; use strict; use warnings; my $dir; sub _dir { if (defined $_[0]) {$dir = $_[0]} else {$dir} } sub _hf { Kephra::Document::add ( File::Spec->catfile( $dir, shift ) ) } sub _config { Kephra::API::settings()->{texts} } sub welcome { _hf _config()->{welcome}} sub version_text { _hf _config()->{version}} sub licence_gpl { _hf _config()->{license}} sub feature_tour { _hf _config()->{feature}} sub advanced_tour { _hf _config()->{special}} sub navigation_guide { _hf _config()->{navigation}} sub credits { _hf _config()->{credits}} sub keyboard_map { _hf _config()->{keymap}} sub _web_page { Wx::LaunchDefaultBrowser( $_[0] ) } sub _lang { lc Kephra::Config::Localisation::language() } sub online_documentation { my $url = _lang() eq 'deutsch' ? 'http://kephra.sourceforge.net/site/de/documentation.shtml' : 'http://kephra.sourceforge.net/site/en/documentation.shtml'; _web_page($url); } sub forum_site { my $url = _lang() eq 'deutsch' ? 'http://www.perl-community.de/bat/poard/start' : 'http://www.perlmonks.org'; _web_page($url); } sub bug_tracker { _web_page('http://sourceforge.net/tracker/?func=add&group_id=169747&atid=851590') } sub feature_wish { _web_page('http://sourceforge.net/tracker/?func=add&group_id=169747&atid=851593') } 1;kephra-0.4.3.32+dfsg.orig/META.yml0000644000175000017500000000221711602234530015364 0ustar rizlarizla--- # http://module-build.sourceforge.net/META-spec.html name: Kephra version: 0.4.3.32 abstract: crossplatform, GUI-Texteditor along Perl alike Paradigms distribution_type: module author: Herbert Breunung license: gpl_2 build_requires: Wx: 0.74 Test::More: 0.47 Test::Script: 0 Test::NoWarnings: 0 Test::Exception: 0 Test::CheckManifest: 0.9 Test::Pod: 1.22 ExtUtils::MakeMaker: 6.42 configure_requires: ExtUtils::MakeMaker: 6.42 generated_by: 'Module::Install' no_index: directory: - inc - share - t requires: perl: 5.6.0 Cwd: 0 Encode: 0 Encode::Guess: 0 File::Find: 0 File::Spec::Functions: 0 File::UserConfig: 0 Config::General: 0 YAML::Tiny: 0 Wx: 0.74 Wx::Perl::ProcessStream: 0 resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Kephra homepage: http://kephra.sourceforge.net repository: http://sourceforge.net/scm/?type=svn&group_id=169747 license: http://www.gnu.org/licenses/gpl-2.0.txt meta-spec: version: 1.4 url: http://module-build.sourceforge.net/META-spec-v1.4.html kephra-0.4.3.32+dfsg.orig/dev.pl0000644000175000017500000000072311573645310015237 0ustar rizlarizla#!/usr/bin/perl # # testing starter for development purposes # starter for regular users is in bin/kephra # use strict; use warnings; BEGIN { unshift @INC, 'lib'; #chdir 'base'; } require Kephra; $Kephra::STANDALONE = 'dev'; Kephra->start; #use FindBin; #$ENV{KEPHRA_DEV_START} = 1; #use File::Spec::Functions qw(catfile); #my $lib = catfile( $FindBin::Bin, 'lib' ); #my $exe = catfile( $FindBin::Bin, 'bin', 'kephra' ); #system "$^X @ARGV -I$lib $exe"; kephra-0.4.3.32+dfsg.orig/Changes0000644000175000017500000014252511602234556015425 0ustar rizlarizlatodo: l18n version update l18n compare tool Config::Tree join & split keys ! update configs when update cpan installation ! EOL problem in UTF files 0.4.3.32 ] optimise CPAN appearance 0.4.3.31 ] installer, no .svn files 0.4.3.30 ] fixed module type :) 0.4.3.29 ] grmpfl, repair Meta.yml 0.4.3.28 ] with META.yml again 0.4.3.27 ] included Module::Install again 0.4.3.26 ? deleted xt which only can fail 0.4.3.25 ^ just released as stable on CPAN 0.4.3.24 ~ see all file in file dialogs even under linux and mac [ fixing layout of search dialog 0.4.3.23 ~ suspend interface caching due coding problems in cache files " ignore backup localisation files while creating l18n menus 0.4.3.22 + added spanish localisation (thanks to enriquee nell) [ less clutter in menu labels / moved dev to linux 0.4.3.21 + select content - just quotings [ add toggle script comment to selected text context menu ! repaired some POD's 0.4.3.20 ~ move selection moves now wordwise when part of line selected ' 2 doc typo in Kephra.pm 0.4.3.19 ~ move selection moves now only complete lines when selected none or several ! old l18n key in romana.conf 0.4.3.18 + insert rectangular selections + move line tabwise left and right with ++ ~ brace nav is caret pos aware (jumps from inside to inside or outside to outside) ~ toggle # comment with ++ ] automatically hides incomplete translations in enduser releases ! closed unnamed docs appeared in file history ! proper titelbar and tabbar visual updates while rename file ! folding and marker setting with left click on margin works again 0.4.3.17 + selecting right to left and right click deletes (clear) selection (left to right just cuts) ] hardening the feature of previous version ] config reload when changing current l18n works again " improved english l18n (mostly by enrico)++ 0.4.3.16 ! lang selection menu works again 0.4.3.15 ! wrong literals in default commandlist 0.4.3.14 ~ correcting toggle select ~ changing command ID select-toggle > select-toggle-simple ~ changing command ID select-content > select-toggle-content, 0.4.3.13 ] introduce command node type sub ] remove old unused command ID ] splashscreen closes on right time ! forgot last_edit pos after restart ! correcting prev_related_brace when jump to previous closinf brace of same depths ! crash while editing after closing doc 0.4.3.12 ~ jump from doc end to doc end (auto wrap) when navigating in related braces [ move edit_line submenu 2 up ' update and fix keymap ! left click on selection does copy in output panel too ! missing komma and bad arrows in default command list ! while brace navigation caret cant hidden in folded lines 0.4.3.11 + note selection works also in output panel + copy selection in output panel with + left click on selection does copy in output panel too ~ leaving notepad with F12 ~ moving zoom keybinding to strl+shift to allow type ~ again ~ # is written sharp in keymap to prevent quoting a la /# ] init commandline module ' keymap shows marker keybinding back to f2 ! note selection really appends ! fixed statusbar context menu ! fixed eol switch ! template menu updates again after saving active template file 0.4.3.10 + toggle select with ctrl+y + zoom in, out and back with ++<+>,++<-> and ++<0> ~ marker keybinding back to f2 [ adding zoom and select menu ! fixed goto_prev_marker_in_doc 0.4.3.9 ~ reorder tool menu ~ moved keybinding of marker to f4 and notepad to f12 ' updated keymap ' typos in en l18n ! insert on cursor ! copy quoted string works again 0.4.3.8 + new menu item tool-brace-completion + new tool: insert time/date ~ doc attr config_file now saved by session files ~ esc in searchbar closes bar, use ctrl+f to just leave ' improved docs: this version, all functions, TestReleases, README [ moved document-auto-indention and document-brace-indention into tools menu ] outsource all visual stuff inside the editpanel to Kephra::App::EditPanel::Indicator ! only recent l18n file open with * ! Kephra::Config::path_matches works as always intended, matches subpathes not just eq 0.4.3.7 ~ refined editpanel mouse control [ start Kephra::Macro.pm ! open toolbar file works again ! templates works again 0.4.3.6 + left click on selection does copy + middle click inserts selection ~ middle click on searchbar finds next / goto last edit ! acme unselect selected half document 0.4.3.5 + acme like mouse control: cut (left+middle) and paste (left+right) + acme like mouse control: search (middle) or goto last edit (if no text selected) ~ color picker understands now comma seperated decimal values too " switch position of last 2 tool menu item " new command ID: tool insert date time ' improved docs: navigation and this version 0.4.3.4 + bug and request tracker links in help menu ~ search in all current block for last_perl_var ? implemented 7 tests for t/04_config_data_tree.t ? uncommented 17 tests for t/02_config.t ' pod fixed by kristian++ 0.4.3.3 + insert_last_perl_var ~ replace to nothing again ? added t/04_config_data_tree.t " advanced czech localisation " added keyword default to perl lexer def ' updated keymap ' updated navigation [ added tool-perl-copy-string and tool-perl-insert-last-var to tool menu ! doc lang selection 0.4.3.2 ^ rerelease as CPAN stable version 0.4.3.1 ] xp mode for boot sequence " tool-output-selection-hex now on key alt+shift+f5 0.4.3 ' update credits 0.4.2.39 + copy surrounding quoted string with ++ " getting default settings of new files when opening empty files [ moving insert templates into tools menu ! file history menu works again ! crash when open empty files 0.4.2.38 + marker function do also from context menu pos 0.4.2.37 + folding per context menu on mouse position (idea my murphy++) " item view-editpanel-fold-toggle-level in markermargin_contextmenu was missing " searchbar autofocus no longer default ! cripple statusbarbar coding field to make it save for now 0.4.2.36 ! update of module::install to 1.0 0.4.2.35 ! bug in makefile 0.4.2.34 ! utf labels now work on windows too (linux did it automaticlly right) 0.4.2.33 ! release tool now does tgz with the right rights 0.4.2.32 ! fold all nodes works now even if caret is in area without folding ! fixed function and cursor visibility of toggle recursive code folding ! remerged forgotten win default settings 0.4.2.31 + refresh autosaved configs after cpan update ~ changed folding keybinding ~ fold here: ctrl+plus, level: alt+plus, recursively: alt+shift+plus 0.4.2.30 ~ xml formater keybinding is now Ctrl[+Shift]+I ! unified logic behind both transparency settings - 0 = no transparency 0.4.2.29 + safety belt for window modes on esc key [ +key code for hide tab bar at ctrl+alt+t ! new docs show correct codepage 0.4.2.28 + fullscreen mode + max editpanel mode (disables all bars) + transparent mode + you can combine stay on top and transparent mode with Ctrl+Alt+F11 [ new menu: view > main window; [ move cmd view-window-stay-on-top there [ created commands view-window-fullscreen, view-window-transparent, view-editpanel-maximize " changed default font of output panel to arial , 10 px 0.4.2.27 ] finer event freeze and thaw ! delete unnecessary ecaping of vars in title content definition ! save copy as ... works again ! fixed eventhandling in Kephra::Document::Data::evaluate_attributes ! fixed test suite 0.4.2.26 + writes files also in missing dirs ! new Kephra::Dialog API fix ! redo comment function calls in commands.conf to older less flexible but working way 0.4.2.25 + romanian localisation " bad config: invisible main menu ! old API uses 0.4.2.24 + add support for latin 1 coding (codepage property) ! reload and and insert file works again 0.4.2.23 + autorecognition via encode::guess + read and write utf 0.4.2.22 + save and restore textfold state in sessions and file history ~ change sibling to level fold 0.4.2.21 + file history is now a session, restore file with all saved property + switch menubar visibility ] localize some of last temp var ] simplify Dialog API 0.4.2.20 [ new icons for search abr ops, marker, script run, color picker ] starting dater due freezing text change event ] event group doc_change_went smaller: docchanges now faster due less events fired ! right linenumber margin size when starting with autosaved.conf as current doc 0.4.2.19 [ update menu view > contextmenus and make 2 new calls vor it (markermargin searchbar) ~ statusbar contextmenus have own switch, interactive means switch leftclick ~ changed markermargin contextmenu acording the order of margins " search date has own config file " new dir for config data files: search.yml and notepad_content.txt 0.4.2.18 ~ expanded markermargin contextmenu " repaired some issues in l18n and default global configs (due tools/confer.pl) ! folding works again ! global marker prev|next now can jump back to current doc if there more marker 0.4.2.17 + goto next and previous marker in all docs ~ global marker goto is now in search bar ~ not appending empty selection on notepad text ! fix marker save in session 0.4.2.16 + set bookmarks directly by mouse middleclick + save marked lines in the session file [ switched move left and right in document > change menu [ changed marker key binding to standard compliance ] refined add/restore in Kephra::File::Session 0.4.2.15 " move search data file into global/sub dir [ contextmenu on markermargin [ + marker menu 0.4.2.14 + output selection in dec and hex [ output menu [ file close submenu has icon ! file history works again 0.4.2.13 + set search dialo transparency unter dialog > search > transparency + notepad has line move ! fixed cursor pos on line move 0.4.2.12 + new tool: output the %ENV [ marker nav in searchbar 0.4.2.11 * marker functions + set marker by mouse [ bookmarks have now individual icons (jenne++) ] missing helpstring for menu entry causes no more warning 0.4.2.10 ~ autoconverts of EOL are now visible " minor bit in german tab status field help [ config access only through API [ cleaned Kephra.pm ! bookmarks work again ! fixed property handling for the different file defaults 0.4.2.9 " different default setting for new und open files " new icons from jenne++ 0.4.2.8 + color picker + statusbar has context help while mouse hover ] reformat to one API module ! tab info char in wrong tab ! encodings menu visible, also in the statusbar 0.4.2.7 ~ current dir is now always synched with current file ! wrong titlebar content after some close doc events 0.4.2.6 ] rest of renaming plugin -> panel for notepad and output ] rename bookmark.pm -> marker ! splashscreen works again 0.4.2.5 + can assign icons to menus [ rearranged file menu ! crash while folding 0.4.2.4 [ added encoding menu [ splitter are now without live update, has lot less flicker ' updated german help-forum link 0.4.2.3 ~ linenr margin width autosize works now per doc ] separated fold functions in own module ! change font works again on all edit tabs 0.4.2.2 ! most visual settings work global again ! dont loose caret while find and defold 0.4.2.1 + loading stautsbar from config + status field codepage " added keys app > statusbar > file and app > statusbar > node ] refactor Kephra::API::EventTable -> Kephra::EventTable ] refactor Kephra::API::CommandList -> Kephra::CommandList ] refactor Notepad, Output: Kephra::Plugin::* -> Kephra::App::Panel::* ] refactor Menu, ToolBar: Kephra::App::* -> Kephra::* ! all event react on selection correct again 0.4.2 testing release: new tabbar ~ event driven stuff works again ~ smaller tab width in notepad ! open autoconfig file works again ! reload global configs works again ! file changed notify works again 0.4.1.19 [ reduce clutter while boot and shut down ] changed all constants to &Wx::... syntax 0.4.1.18 ~ session save now docs in visual order ~ search findings even visible when hidden in folded line 0.4.1.17 ! sessions save does work again ! tabs and other doc settings work again ! file save works again ! reload file works without flaws 0.4.1.16 ! sessions do load again 0.4.1.15 ] 2 level tab number translation ~ moved motto from info box into localisation ~ visibility of tabbar can be set again ! move tabs by mouse has no side effects ! move tabs by keyboard works again 0.4.1.14 ' added doc/Roadmap file ~ doubleclick on panel splitter now reacts properly ! Bookmarks work again 0.4.1.13 + tabs are moveable by mouse now and still change in right order " english l18n synced with defaults ] extended/reformed Kephra::Document::Data a bit ! new tabbar works suddenly, ahm finally ! file save works again ! toolbar icon respond properly 0.4.1.12 " default l18n nsync again ! folding works again 0.4.1.11 ~ note-selection gets key binding: shift+f4 " new key : app > tabbar > movable_tabs " new key : app > tabbar > close_button " new key : app > tabbar > tablist_button " removed key : app > tabbar > visible ] shwitched Wx::NoteBook > Wx::AuiNoteBook ] win distro updates to Wx 0.93 ] displays Scintilla version correct for newest Wx 0.4.1.10 ! bug with output panel 0.4.1.9 ] new stc ref handling ] rewrite of whole Kephra::Document namespace ! new docs ain't readonly 0.4.1.8 + display @INC pathes + open online doc and native lang forum URL in default browser + recognizes now tab mode of opened file + conf_key tab_use_new and tab_use_open (default auto) ~ renamed fold margin label ~ doc property bracelight is now view option ~ tool-run-doc => tool-interpreter-run-doc (stop also) 0.4.1.7 + file > defaultsettings > EOL_new can now be 'OS' => new files have lineendings according the OS you currently run - no menu icons under mac ~ rearrange main app layout (right panel goes from toolbar to statusbar) ] define event groups ] new module Kephra::Document::Property for by user changeable doc property ! fixed autwrap on text search: finding next 0.4.1.6 + rearranged context menu of tab status bar cell, can change tab width there now ] patches from Andreas Kaschner++: ! fixes in 02_config.t, Notepad.pm, StatusBar.pm, Default/CommandList.pm 0.4.1.5 + convert spaces to its HTML entity [ moving folding menu to fold margin in view menu ] convert all ISO 8859-1 enteties except whitespace 0.4.1.4 + fold all (alt+shift+plus) + fold recursively (alt+shift+minus) + these calls now on right click on fold margin ~ changed key binding for fold: fold => alt+minus, fold siblings => alt+plus ~ fold mouse binding: left => here, midd => recursive, right => siblings, l+f => all ~ editpanel autofocus is now off per default [ unfolding when goto a hidden line ] convert more entities " some locale strings were translated to wrong language 0.4.1.3 + 2 new converter HTML entities to char and back + second fold marker style set editpanel > margin > fold > style to arrows or boxes + can set text margin to width of 3 px + note selection ~ config key app > panel > notepad > content renamed to content_file [ folding functions now in menu visible ! when text margin set 0 menu shows it now 0.4.1.2 + optional flagline shows where text is folded + option for keeping caret visible while folding ! fold siblings works now also in the first line 0.4.1.1 + key binding for fold ops: fold => alt+plus, fold siblings => alt+shift+plus ! fixed commandlist cache logic, refreshes now if needed 0.4.1 testing release: folding 0.4.0.12 [ unfolds all if hides folding margin [ less intrusive default color for folding markers [ less intrusive default color for line number 0.4.0.11 * code folding support + fold sibling nodes [ editpanel context menus don't open over margin anymore 0.4.0.10 + commandlist cache [ moved menu view_bars one position down ] commandlist and localisation modules nor hold their data internal (was global) " editpanel > margin > fold is now a node that holds forecolor, back and visible ! typo in Config::Default::GlobalSettings ! crash: typo in event resigning of Dialog::Search ! crash: old api call in file::session ! crash if hide main toolbar by next event 0.4.0.9 [ uncomment foldmargin view option [ darker (yellow) caret line (was nearly unvisible) ] new commandlist leaf: keycode ] rehashed parts of Kephra::API::CommandList 0.4.0.8 + autoplugging localisation system + added key editpanel > auto > focus ~ changed name convention for icons no more underscore => new-names.xpm ' updated roadmap in kephra.pm POD " panel icons were missing in default commandlist 0.4.0.7 + intial norsk localisation + new submodule Kephra::Config::Localisation, refactoring - removed stupid restrictions not to open emty files ~ open binary files (only_text = 0)is now default, problems with utf files ~ activate UTF8 for Config::General when locale file requires ] open localisation files function moved into Config::Localisation ! typo in localisation column, not cloumn 0.4.0.6 ] moving codepage setting from hard wired to config set ~ moving File::_age into File::IO ! output panel didn't worked 0.4.0.5 [ cleaner search dialog ! updating in localisation default config 0.4.0.4 + select interpreter with config key app > panel > output > interpreter_path + file missing dialog - remove dangerous ++ keybinding ( triggeres when want create @) [ find item history realtime update now works in search dialog [ cleaner search dialog ] rebuild notify dialog ] renewed parts of search module ! comboboxes in search dialog process enter ! crash on moving tabs 0.4.0.3 ! keep calm when just a unnamed doc is unsaved 0.4.0.2 ' updating key layout docs ~ close all key binding changed + => ++ ~ close app key binding changed + => + ! UTF problems on files with syntaxmode none 0.4.0.1 ' updating key layout docs ! quoting doc name in output panel eval ! crash while delete all bookmarks 0.4 stable release ' finished end user docs 0.3.10.24 ~ background color for brace highlighting ' more docs translation ! a Config::Global sub required a gone module ! internal doc propert reset didn't delete file name ! file > open > each_once works again 0.3.10.23 ~ hide config dialog ' update docs ! change doc 0.3.10.22 ! move tab right crashed 0.3.10.21 ~ in searchbar input now works ctrl+ ! fixed Config::load_defaults 0.3.10.20 [ forward calls from doc to doc::Internal via glob ! invalid Doc::name call in file.pm 0.3.10.19 + define output colors by config ~ new config option: interpreter for notpad eval ~ added '&' as default wordchar ! output used removed Doc API ! output restores cwd 0.3.10.18 ! 0 div in indent guid highlighting ! restore doc attribute from doc nr 0 correctly ! umlaut problem no longer ! clean up all lexer words 0.3.10.17 ] massive refactoring of Kephra::Document namespace ! restart timer when canceled app shutdown 0.3.10.16 ] sane doc nr validation ! false trigger of file changed notify dialog ! wrong win titel when open file ! fix default global settings hash 0.3.10.15 ! output panel can run scripts again 0.3.10.14 + perl eval of notepad + define find and replace item in notepad ! enable right tool button after doc change 0.3.10.13 ! cleanup doc internal mess ! fix stting of current syntaxmode 0.3.10.12 [ search finding better visible ! safer conf file parser init ! didn't remember changed syntaxstyle of opened file ! proper file dialog filter for config files 0.3.10.11 + exit without save ] rewritten parts of Edit::Goto.pm ] made localisation configs saner ! goto line dialog showed 1 line less than current ! fixing default localisation 0.3.10.10 ] founding Kephra::Log ] adapt makefile becaue no longer need Log::Dispatch ! wount crash when not find splashscreen image file ! reload settings when save active config file works again 0.3.10.9 ~ rename file > "Instert ..." into "insert from ..." ! searchbar input works again (they changes standart behavior when press enter) 0.3.10.8 ! fix event table data structure ! repair (beginnings of) czech localisation 0.3.10.7 - append option in output panel ] changed session.conf to yaml due sorting problems with current (2.4) C::G ] switch to Module::install 0.77 ! reload configs works again 0.3.10.6 + 3 close unsaved functions ' extend Kephra.pm POD [ save notepad with when resize [ rearrange file menu 0.3.10.5 ] copy configs unto userconfig when configs are old ] current filepath is known to interpreter when run script ! copied config files where readonly ! could not write autosaved file sessions when no file was there ! changed_notify_check could not handle deleted files 0.3.10.4 ' rewritten parts of Kephra.pm POD ! fix install problem hopefully 0.3.10.3 ] Keymap Dialog had no Version number ! caret visible on app start ! tried to load non existing notepad cache 0.3.10.2 ! fixed codepage setting ! fixed wordchar settings ! fixed and moved dev.pl outside the distro 0.3.10.1 [ changed panel layout: column division first ' POD fix for Panel API ! workaround for a Wx bug 0.3.10 ! add missing panel localisation ! resized output panel when started closed 0.3.9.18 + Output is resizable ans remembers its size + Notepad is resizable ans remembers its size ! Notepad knows its split staus after closed per mouse 0.3.9.17 + output panel has now a stop function to kill hanging prozesses [ enhance Notepad as STC that shares some settings with main STC ! fix perl lexer color definition 0.3.9.16 * notepad panel works completely + output panel recoveres its visibility state after restart ~ output panel open if run script ! output panel handles multiline output ! can run files with whitespace in name (patch by reneeb) 0.3.9.15 * output panel works now 0.3.9.14 ] internal file namespace cleanup 0.3.9.13 + added View Panel Menu + 2 entry for Notepad and Output ~ renamed Module API to Panel [ basic visuals for output panel 0.3.9.12 [ + goto line icon ~ switched to Config::General 2.4 in windistro ! fixed about dialog 0.3.9.11 ! restore curser pos in current file after restart ~ added __WARN__ and __DIE__ to perl lexer ! wordchar settings where missing 0.3.9.10 ] Gabor: added first logging functions ] renamed Config::Default::Global_Settings to Config::Default::GlobalSettings ! Gabor: optimized config file type recogition ! mismatch in 2 other Default modules names 0.3.9.9 ' documented API modules ' repaired some POD in main module [ fixed tabbar icon tooltip texts ] switched from YAML to YAML::Tiny (less code, less memory, all we need) ] new starter.exe that starts kre\wperl.exe 0.3.9.8 ' extending Kephra.pm's POD ] making DragAcceptFiles optional because not supported by GTK 0.3.9.7 ! seperator in Config::Embedded ] renamed Config::Embedded -> Config::Defaults ] rename pre dir into kre (kephra runtime environment) ] externalized into single files 0.3.9.6 ] complete new starter ] new Kephra::Config::init() method 0.3.9.5 ' added POD in Kephra.pm 0.3.9.4 + avennue highlighter + BAAN highlighter + .bat highlighter + diff highlighter + errorlist highlighter + makefile highlighter + matlab highlighter + property file highlighter ] configs and localisation for 8 new styles ' removed "all rightes reserved" 0.3.9.3 ! crash on file open ' this_version.txt update ] finished last Kephra::Config::Tree functions ] deleted not used Dialog::Search subs 0.3.9.2 + reintroduce fast splashscreen ~ splashscreen img and app icon now as xpm too ] shrinking strawberry distro from 28 to 23MB 0.3.9.1 ' POD fix ! toolbar appeared in wrong status bar cell 0.3.9 0.4 RC 2 0.3.8.14 ' formated and updated documentation ~ updated credits.txt (PCE -> Kephra) ~ rewritten Config::Tree functions so i could - remove Hash::Merge and Clone as dependencies 0.3.8.13 + added pbp.conf according to damians perl best practices ] cleaned Kephra::Edit::Search.pm ! crash when open global autoconfigs 0.3.8.12 ] cleaned bit the sub load_from() in Config::Global ] cleaned Config::Global a bit ] WxKeycodes for search dialog ! crash when searching with dialog 0.3.8.11 + added replace selection into context menu over selected text in editpanel ~ cleared replace selection labels ~ ignore in filechange notify dialog now works until next file change happens 0.3.8.10 - removed global default conf, replaced by embedded conf ] search dialog is now real dialog ! debugged embedded global conf 0.3.8.9 + embedded main menu settings ! can handle missing file session file ! hang while searching after closing search dialog 0.3.8.8 + + works in searchbar + embedded toolbar settings + embedded context menu settings ] rewritten parts of Kephra::Config::File ! debugged embedded localisation 0.3.8.7 + embedded commandlist ! prevent thread hangup due late fired timer event on shutdown ! added unicore utfdb to winball ! blockformat on width 0.3.8.6 + context menu over statusbar info field - select app language menu ! search dialog carret keeps position ! crash when ask for not existing menus 0.3.8.5 ] fixed and updated embedded configs ? more compile tests for modules that arent loaded on start ! crash on replace 0.3.8.4 ] thrown wx icons out of the distro ! crash on select all 0.3.8.3 [ put file sessions menu out of file menu on top level [ put goto-line into searchbar ] added Kephra::API::CommandList::run_cmd_by_keycode ~ document switch backs works out of search bar ! pos1 and end works in searchbar again 0.3.8.2 ! crash on search 0.3.8.1 + menu item switch view of tabbar contextmenu ~ folding view menu ! fix php lexer, new constant ! fix xml lexer ! crash while open help files in winball distro 0.3.8 bugfix release, 0.4 RC 1 0.3.7.12 + position searchbar in the middle between tabbar and edit panel ] hack to disabling acceleratorTable ~ new wx constants ! runs with latest Wx (0.83) again ! doc attr getter was flawed 0.3.7.11 ! empty statusbar syntaxmode field if kephra sarted with last doc with mode: "none" 0.3.7.10 [ nicer menus due fake transparent icons for menu items with no bitmaps ~ take config dialog again in the toolbar ! old Searchbar on config reload won't go 0.3.7.9 ! could't open first file ~ hiding print, expanding file menu again 0.3.7.8 [ new splashscreen (finally one with the right name in it) ! doc history can handle if non doc is open ! didnt start with no file open 0.3.7.7 ! fixed color of syntax mpode "none" after switiching from php ! rot tabs correctly while moving 0.3.7.6 ~ change Switch doc back to ++ ~ redesigned file menu ! added missing doclist event on doc switch ! open all files of dir now appears in right dir 0.3.7.5 + move tabs with ++ ] cleaned up App::TabBar API 0.3.7.4 + Ctrl+Shift+G works from the searchbar input 0.3.7.3 ! more internal doc add fixes 0.3.7.2 ~ move xml comment from + to + ! lot of internal bugs introduced due 0.3.7.1 0.3.7.1 ! EOL status works on empty docs again ! doc attributes and data is now deleted correctly while closing doc 0.3.7 testing release 0.3.6.12 ! fix naming convention in CPAN distro 0.3.6.11 ] updated tests to ned app name 0.3.6.10 + autonotify Dialog ] saner file open syntax ~ no autosave on unnamed files ~ autonify just once ! false autonotify on config files 0.3.6.9 ! small fixes 0.3.6.8 + autosave, define it under config key file > save > auto_save 0.3.6.7 ~ StatusBar Info with dotted numers ~ renamed API::Module.pm to Extention.pm 0.3.6.6 + tools to make CPAN distro (make_cpan_pl) 0.3.6.5 ' added POD documentation 0.3.6.4 ' translated this_version.txt from de to en ' translated special_feature.txt from de to en ~ changed item order in tab contextmenu 0.3.6.3 + new perl 5.10 keywords in Perl.pm + started Module for Plugin API : Kephra::API::Module + wrote Documentation of Perl main module ~ join lines now leaves a space between joined lines ~ join lines has key binding : ++ ! search dialog holds correct replace item when non text selected as new item ! fixing doc change in search bar input 0.3.6.2 + jump to doc begin and end from searchbar input whith +(|) + change doc from searchbar input whith +(|) ~ changed tablabel configfile marker from circumfix | | to prefix $ ~ empty config dialog visible again 0.3.6.1 + marking config files in tabs optionally with straight lines + added replace line Command to main menu ' wrote 'besondere_funktionen.txt' ] update embedded config 0.3.6 round up, bug fix and minor feature release 0.3.5.8 + load and store a backup file session + close searchbar now also with + while in the searchbar input + more menuoptions to set width of textmargin ' updated diese_version.txt ! search dialog crash (uncompled API module refactor) 0.3.5.7 + take autoautoindtion in statusbar tab-cell contextmenu ~ rename linebreak to line wrap ~ changing name in the docs ] upgrading windistro to PPI 1.2 ! fixing and fine tuning blockformat and line wrap 0.3.5.6 + blockformat ++, menu edit > format + line break, menu edit > format [ removed ambiguity in german mainmenu navigation with keyboard ! optimizing speed and undef value handling of menu data generation 0.3.5.5 + tabbar tabs numbering optional config key: app > tabbar > number_tabs + tabbar filename optional without ending: app > tabbar > file_info = [first]name ! seach dialog icon shows again ! file firs names now correct when it has no file ending ' some more documenting in default.conf 0.3.5.4 + firstname: new document property holds filname without ending + can use [$$firstname] as template variable too ] clean up ::Config::General.pm ] less subconfugs ~ renamed 'global\sub\localisation' to 'global\sub\documentation' 0.3.5.3 ! move document line and page wise from searchbar input [ use wx keycodes, less error prone 0.3.5.2 + reload templates on save + move document line and page wise from searchbar input [ internal cleanups ! reload all docs switched to last doc 0.3.5.1 ' advanced feature tour ' wrote german 'this version text' for release 0.4 ' reneame 'feature.txt' to 'all_feature.txt' ' some preparations for czech localisation 0.3.5 bug fix and feature release 0.3.4.15 ] moved icon path from \config\icon to \config\interface\icon\ 0.3.4.14 ~ changed File Menu order ! current pathes now contain volume name 0.3.4.13 - auto brace join ] beginnings of Modules and its handling ! cursor in searchbar's edit field now holds its position whilse writing 0.3.4.12 ~ insert templates 0.3.4.11 * Template Menu ] config nodes file > session and file history ] new config node file > templates ] renamed Edit::Changes in Edit::History ] cleaned up file session directory handling ] cleaned up path splitting 0.3.4.10 [ cleaned Kephra::App namespace 0.3.4.9 ! document editing commands did crash 0.3.4.8 ! refresh of find item history in searchbar ! chrash when context menu calls 0.3.4.7 * history File menu 0.3.4.6 + custom title bar 0.3.4.5 + multiple events on GUI element ! redo button ! better tabbar context menu (still some flaws) 0.3.4.4 + nonreactive toolbars (disable events) 0.3.4.3 ! reload config file when saving it in editor 0.3.4.2 ! searchbar fixes 0.3.4.1 ! exit dialog entitles also unnamed files 0.3.4 bug fix release [LOST due crash] 0.3.3.17 + switch syntaxhighlight when left click on third status pane ~ correct refresh while rename file [ file rename got shortcut +++ 0.3.3.16 + find next and prev in searchbar now also with F3 and shift+F3 ~ perl sigils and namespaceseparator now word chars ! searched first when setting find item with strg+F3 ! crash while call replace with confirmation 0.3.3.15 ~ doclist menu shows untitled ~ less events on doc change fired ! correct window title while open file or session reload if current doc is last ! state of find menu items ! crash when saving a file that was in a recently deleted dir 0.3.3.14 [ proper searchdialog replace input update [ put config dialog call into main menu [ searchbar find input size now changeable due config file ] config node "file > current > session" renamed to "file > session" ] config node "file > filter" renamed to "file > group" ! dynamic doc list menu is updating again 0.3.3.13 ~ config dialog cleanup ~ extracting ::Edit::Changes.pm ~ proper searchbar find input update ~ proper searchdialog find input update ~ doc edit commands much faster now, they use event freeze [ exit dialog shows file names again ! event freeze was brokes 0.3.3.12 ~ updated starter exe in win distro ~ benchmark output switchable 0.3.3.11 ~ search range items in main and searchbar context menu ~ doc change items in doclist menu 0.3.3.10 ~ merged with adams code version ~ cleaned eventlist freeze implementation ! crash while find or replace in all open docs with dialog ! search dialog lost icon when config in nonstandart path 0.3.3.9 + subconfigs from nested nodes + ability to store single contextmenu in seperate file ! warnings on empty commandlist nodes 0.3.3.8 ~ using Kephra::Config::File::load not YAML directly ~ simplified session files ] started Kephra::Config::Tree ' more benchmarks 0.3.3.7 [ german localisation correctoin, spell checks ~ build searchbar from configs, findinput is now sizeable 0.3.3.6 ! crash on view EOL 0.3.3.5 ! save first time rightmost doc 0.3.3.4 ~ some text folding preparations ! searchbar and search dialog dind't run 0.3.3.3 ~ reduced code in App::Window::load_icon ~ dissolving depreciated lib Kepher::App::STC > Kepher::App::EditPanel ! DND on Seachbarbar input 0.3.3.2 ! fix config for rename [ hiding error logs 0.3.3.1 ~ edit contex menu fixed and chenged [ item label: Fortran -> Fortran 90 ! change font 0.3.3 rounded up for test release 0.3.2.21 ] new namespace for line number margin ] slimmed events, faster now 0.3.2.20 ! fix toolbars visibilities ! fix searchbar contextmenu connector ! sane app gui part layout when changing language 0.3.2.19 + configurable middle click on tabbar ~ correct tooltip and status help msg on tabbar ! repaired tabbar 0.3.2.18 ~ lot of internal cleanup ] internal unified namespace App::ToolBar 0.3.2.17 + repairing subconfs + nearly comlete set of embedded config (interface missing) 0.3.2.16 + toolbar toggle buttons + eventsystem + dynamic toolbar with events 0.3.2.15 [ removed most search dialog button flicker ~ faster search dialog 0.3.2.14 ] toolbar rebuild - remove xrc interna ! crash on edit document calls 0.3.2.13 ] Config menu rebuild ] Help menu rebuild ] Menubar completly set to new Interface text compiler ~ ::App::Window::create - most xrc files except toolbar 0.3.2.12 ] View menu rebuild ] Document menu rebuild ] Search menu rebuild ] Document menu rebuild ] View menu rebuild ] moved braced nav to edit::goto modul ! brace nav crash 0.3.2.11 ] Edit menu rebuild ! crash while text refresh ! set bookmark annoyance 0.3.2.10 [ EOL checks ! fixed tabbar context menu 0.3.2.9 ] new Document::SyntaxMode, Edit::Goto and Edit::Select namespaces ] File menu rebuild ] dispatch own key events - shorten Events.pm ! replace all replaced with zero 0.3.2.8 ] moved last parts of visual.pm code Statusbar.pm and Toolbar.pm [ checkitem in syntaxmodeinfo contextmenu [ can_save_all now much faster 0.3.2.7 + rename files ! fixed check and radio item update 0.3.2.6 [ better goto line dialog ] + can_save_all Event which is set whenn there is an unsaved doc ! correct checkings and disabling on all menu items ! tab change event echo ! del mismatch in searchbar combobox 0.3.2.5 [ first main menu works with a submenu ] PCE::Config::Stettings to PCE::Config::Global, cleaned namespace ! fixing search dialog find combo loosing search item while search 0.3.2.4 [ no cursor or text deselection jump when save all files ] PCE::App namespace newly ordered ! crash on search dialog Drag'n Drop 0.3.2.3 + searchbar contextmenu ! pathname mismatch with numbers ! opening changing and save rightmost doc 0.3.2.2 + drag n drop in search dialog [ single wrong indention on tabbar contexmenu ] overall slimmed and cleaned up code ! no proper eol mode display in statusbar 0.3.2.1 ] cleaned up statusbar internals ! forgotten update call for document list update ! statusbar showed not correct number of document lines 0.3.2 ] more checks when loading GUI configs 0.3.1.14 + menuitem radiogroups + disable menuitems 0.3.1.13 ] unified commandlist value loading ! crash while change Localisation Language again 0.3.1.12 + documents contextmenu ] lot of cleadup in Edit.pm [ slightly changed goto behaviour 0.3.1.11 ] all contexmenu on gtc ] contexmenu-editpanel eval connector [ new german iso lacalisation ! crash when current doc setting in session file is to high 0.3.1.10 + icons in new contex menus ! crash while change Localisation Language 0.3.1.9 + contextmenu on selected text ] editpanel contextmenus working in minimal mode 0.3.1.8 ] adding contextmenu gui config file ] info dialog cleanup ] added embedded emergency localisation 0.3.1.7 ] cleaned app namespace ] cleaned up program name handling 0.3.1.6 + searchbar takes eventual selection as search item ! open button did disappear for after cliscked 0.3.1.5 + config key {app}{searchbar}{autofocus} sets focus to input while onmouseover ! cursor jump to begin when deleting bookmark ! deleting all bookmark ! crash if reload nonexisting file 0.3.1.4 ' keymap updated ~ goto last edit now on ++ ! open files from command line with pce was broken since 0.3.0 ! current doc pointer now correct even if there is only one doc 0.3.1.3 + brace navigation with + [ + now also switches focus back to editpanel [ button added on searchbar to call search dialog ] cleaned PCE::App::Event::key_down_filter 0.3.1.2 + delete back tab, + deletes now to naxt indention level ~ switch back now on + ] property handling while restoring file session now much slicker ! warning caused by checking more filenames that exist while open file ! fixing file session loading and restoring 0.3.1.1 [ fix in german toolbar "Suchdialog" [ caret position better visible when switching to document ! warning in info dialog when there is no patchlevel 0.3.1 ? testing release [ closing street holes 0.3.0.27 + block navigation reestablished 0.3.0.26 ! fixed blockindent 0.3.0.25 + Bookmarks are working now 0.3.0.24 ! fixed tab converter 0.3.0.23 + restoring bookmarks ! display of selection lines now correct 0.3.0.22 ! typo in toolbar 0.3.0.21 ! no label for unnamed files 0.3.0.20 + show selected lines in statusbar ~ shorter format::join_lines algorithm ! typo in searchflag refresh 0.3.0.19 + opens whole dir when dragged onto ! crash when try to drag dir into edititor ! find and replace dialog repaired and slightly optimized 0.3.0.18 + PCE now remembers current search and replace item ] rebuild some PCE::Edit::Search.pm sub, renamed config keys 0.3.0.17 + find input can now recieve dragged text 0.3.0.16 ~ searchbar hints do work now ~ find input history now works + introduced function mark all matches + editpanel can now recieve dragged files 0.3.0.15 ! repairing linenumbermargin autosize ! repairing english goto line menu call 0.3.0.14 ~ building up simple but usable Searchbar with some jitters 0.3.0.13 ! file data got lost after closing empty files 0.3.0.12 ~ toggle searchbar visibility ~ start SearchBar ! repair exit dialog 0.3.0.11 ~ established standart way of normalizing path slashes ~ better way to position context menus ~ Replace with confirm now on + on replace dialog ! tabbar buttons has right background color 0.3.0.10 + toggle visibilty of tabbar icons + toggle visibilty of tabbar seperator line ~ Show.pm now opens help & config files with full path ] simplified edit: line copy ! shown pathes now compatible to current OS ! reinsert tab seperator line ! toggle visibilty of tabbar works now 0.3.0.9 ~ rename config/general -> config/global ! rename tablabel when change language ! ensure inner data current doc pointer always set correct 0.3.0.8 + put EOL switch visibility into EOL status context menu ~ modulnames now all uppercase, sources cranked throug perltidy 0.3.0.7 ~ introducing use strict 2 all.pm ~ rewrite document namespace ~ Reorganising into a CPAN-compatible distribution 0.3.0.6 ~ refaktoring the app namespace (packages, methods, config keys) [ introducing pce::App::TabBar ! no more hang up on empty docs 0.3.0.5 ! fix tabbar consume too much height ! dont clear editpanel when close last writeprotected file -> pl2 ! dont recognize protection when open first write protected file -> pl2 0.3.0.4 + goto last edit ! mainframe was invisible under win when minimize and then close -> pl2 0.3.0.3 ~ update to wxperl 0.25 ] pce::document::internal founded pce::document::property deleted [ 2 icons in tabbar [ 3 new icons in toolbar config dialog aktivated 0.3.0.2 ! bugfix starting minized search dialog -> pl2 ] changed to sizer based searchdialog ] find modules renamed in search because its more than find like search menu 0.3.0.1 ! increment search lost caret visible -> pl2 [ rename localisation ref ] new icons left of search icons 0.3 ? full stable release 0.2.3.47 ] info dialog now displayes patch level ' finish english docu 0.2.3.46 + replace line ' translating doku ] new fresher icons, several new for coming new functions ] 2 more functions in the toolbar ] slicker help menu 0.2.3.45 ! fixed CVS vs Clone.pm clash 0.2.3.44 ' doku improvements ] faster splashscreen 0.2.3.43 ] Boundary check vor app_frame 0.2.3.42 ! Bugfix in pce::edit::format::del_trailing_spaces ... missing some 0.2.3.19 + strg+Enter menu item document_switch_back ... missing some 0.2.3 ? feature enhancement and bug fix * file sessions * on quit dialog for selecting files to save + open multiple files via dialog + history for search and replace strings + xp style now optional ] close current file with middle click on tabbar ! open empty files 0.2.2 ? feature enhancement and bug fix * search and replace in files + asm style + save on change doc + open statusmenu files via mainmenu [ internal sub now only have one _ prefix ! bug in search prev ! style repaint on save as bug ...yes here is inconsistancy due change 0.2.11 ? feature enhancement and bugfix release + find in selection + replace all in selection + replace with confirm in selection + menu item find from start + recognise selection from menu calls + Ctrl+Enter (in search dialog) closes dialog and finds first (find button behaviour) + set max tab width via config [ more benchmark ! reload autosettings fixed ! status context menu changes language properly ! dialog saves search and replace text first time like it should ! minor checkbox selection fix in search dialog ! bug in font change ! line wrap bug 0.2.10: ? new feature and maintain release * contextmenus on statusbar + shift+Enter in search dialog searches backward [ massive refracturing fore new namespace [ several new modules ! minor fixes in menu 0.2.09: ? testing and maintain release + call replace in find dialog ~ DND Files now only over tabbar ~ close other now with ctrl+shift+Q ~ better search menu [ massive refracturing fore new namespace ! minor fixes in menu, statusbar, and keymap 0.2.08: ? shiny little feature enhancement release + Drag 'n Drop Files from Explorer into the Editor 0.2.07: ? suporting porters release + pce.pl can now called under win from anywhere ! small bugs in show files 0.2.06: ? minor enhancement release + block navigation + open files in current directory 0.2.05: ? maintaince release for linux usage - direct document selection with Alt+Number [ path for config and help can now be set freely 0.2.04: ? major stable and bugfix release + view option: stay on top ] internal changes and cleanups ! bugfixes in menu and logic 0.2.03: ~ converter take now the whole text when nothing is selected ] internal cleanup 0.2.02: + delete trailing spaces ] cleaning internals 0.2.01: + 2 new options for opening files, replace new empty docs + single document mode + save last tilde files like that: file.name~ ! Bugfix in EOL Mode, the editor produced always cr+lf ! 2 Bugfixes in Main menu 0.2.00: ? major stable and bugfix release 0.1.99: + backup autosave file, and restore ist in emergency case - Bookmarks ! bugfixes 0.1.98: + save dialog on close and exit now contain cancel ] internal improvements ! bugfixes in Config 0.1.97: + jumpes to the file if you open an already opened file ] internal improvements ! bugfixes in main, config, file, document, STC ! bugfix in General::Config 0.1.96: + visual feature: switch back if you click on current a la opera + new option: start with an empty file + new option: open each file once + new option: open text files only ! bugfixes 0.1.95: + autoreload for config files + this version texts ~ better menus ! bugfixes 0.1.94: ! fix from ugly bug that eating docs, therefor HIGHLY RECOMMANDED updated + ask now for unsaved files to save on quit ~ minor optikal fixes in search dialog, save all icon, color of LLI 0.1.93: * settings for each document will handled seperately and saved to the next start these settings are at start cursorpos, syntaxstyle, EOL Mode, Tab usage + intention guides + caret line highlighting + autodetect EOL Mode + autodetect write protection + direct doc selection with Alt+Number ~ right margin color changesd ~ another app icon ~ search menu unfolded 0.1.89: ? bugfix release 0.1.87: * multiple document handling find, replace and bookmarks are still single document oriented 0.1.84: * find and replace dialog + win XP look 0.1.68: autosave options, customizable Syntaxstyle autoselect 0.1.64: german localisation 0.1.60: config: many new styles, contextmenu file menu: insert file, edit menu: format functions, convert functions document menu: eol mode, styles, spaces, write protection Statusbar: cursorpos, eol, spaces, style faster file reading, several bugs 0.1.31: save and load external configs, handling close window event many bug fixes, color and caret settings 0.1.24: SECOND COMPLETE RELEASE (incl. PRE 0.2pre1)! new config file, old removed, holds now all properties, default.conf, open, load and save config on the fly, release history, reopen, save copy as, Replace, Undo History, brace comment, 3Bookmarks, find selection new view options: hard tabs, whitespace, 4Margins, Line Wrap 0.1.12: Fontselect and many other fixes 0.1.11: Selection Move, fixes & updates 0.1.10: indent unindent, script comment uncomment, CSS Style, several fixes 0.1. 9: open Configfiles, goto line number, line move, fixes 0.1. 8: holds file, save before exit, fixed and updates 0.1. 7: find previous, C-style fixed, setEOLMode removed 0.1. 6: find, find next 0.1. 5: setEOLMode(removed), select and autoselect Syntaxstyle, C - Style, 0.1. 4: asks for filename if you save new file, better Perl-style 0.1. 3: Keyboard Map, Licenses, fix 0.1. 2: View Menu, View EOL, HTML-Style 0.1. 1: checkable Menuitems, english Toolbarhints, show License 0.1. 0: FIRST COMPLETE RELEASE(incl. PRE 0.2)!, smaller startexe, english Menu, long line indikator, colored gutter, 0.0.20: first syntaxstyle(perl), filename in tab, toggle linenumbermargin, fixes 0.0.19: pce.exe, undo, redo, cut, copy, paste, clear, select all filename in the title, warningboxes bugfixes 0.0.18: save file, bugfix 0.0.17: new file, open & save as 0.0.15: First Public Release!: shows the editbox! Legend: ^ purpose * big new feature + new feature ~ change - remove ? tests ! bugfix [ interface ] internals " configs ' help/docu / comment kephra-0.4.3.32+dfsg.orig/MANIFEST.SKIP0000644000175000017500000000001711601444340016006 0ustar rizlarizla^\.hg .*.svn.* kephra-0.4.3.32+dfsg.orig/MANIFEST0000644000175000017500000002346511633700043015255 0ustar rizlarizlabin/kephra Changes dev.pl doc/Bugs doc/interna/manifest.txt doc/interna/perlrules.txt doc/interna/sketch.txt doc/patches/current-fixes.txt doc/patches/outline_parser.pl doc/patches/print-draft.pl doc/Roadmap doc/StableReleases doc/TestingReleases doc/Todo ignore.txt inc/Module/Install.pm inc/Module/Install/Base.pm inc/Module/Install/Can.pm inc/Module/Install/Fetch.pm inc/Module/Install/Makefile.pm inc/Module/Install/MakeMaker.pm inc/Module/Install/Metadata.pm inc/Module/Install/Scripts.pm inc/Module/Install/Share.pm inc/Module/Install/TestBase.pm inc/Module/Install/Win32.pm inc/Module/Install/WriteAll.pm lib/Kephra.pm lib/Kephra/API.pm lib/Kephra/App.pm lib/Kephra/App/ContextMenu.pm lib/Kephra/App/EditPanel.pm lib/Kephra/App/EditPanel/Fold.pm lib/Kephra/App/EditPanel/Indicator.pm lib/Kephra/App/EditPanel/Margin.pm lib/Kephra/App/MainToolBar.pm lib/Kephra/App/MenuBar.pm lib/Kephra/App/Panel.pm lib/Kephra/App/Panel/CommandLine.pm lib/Kephra/App/Panel/Notepad.pm lib/Kephra/App/Panel/Output.pm lib/Kephra/App/Panel/TreeTool.pm lib/Kephra/App/SearchBar.pm lib/Kephra/App/StatusBar.pm lib/Kephra/App/TabBar.pm lib/Kephra/App/Window.pm lib/Kephra/CommandList.pm lib/Kephra/Config.pm lib/Kephra/Config/Default.pm lib/Kephra/Config/Default/CommandList.pm lib/Kephra/Config/Default/ContextMenus.pm lib/Kephra/Config/Default/GlobalSettings.pm lib/Kephra/Config/Default/Localisation.pm lib/Kephra/Config/Default/MainMenu.pm lib/Kephra/Config/Default/ToolBars.pm lib/Kephra/Config/File.pm lib/Kephra/Config/Global.pm lib/Kephra/Config/Interface.pm lib/Kephra/Config/Localisation.pm lib/Kephra/Config/Tree.pm lib/Kephra/Dialog.pm lib/Kephra/Dialog/Color.pm lib/Kephra/Dialog/Config.pm lib/Kephra/Dialog/Exit.pm lib/Kephra/Dialog/Info.pm lib/Kephra/Dialog/Keymap.pm lib/Kephra/Dialog/Notify.pm lib/Kephra/Dialog/Search.pm lib/Kephra/Document.pm lib/Kephra/Document/Change.pm lib/Kephra/Document/Data.pm lib/Kephra/Document/Property.pm lib/Kephra/Document/SyntaxMode.pm lib/Kephra/Edit.pm lib/Kephra/Edit/Comment.pm lib/Kephra/Edit/Convert.pm lib/Kephra/Edit/Format.pm lib/Kephra/Edit/Goto.pm lib/Kephra/Edit/History.pm lib/Kephra/Edit/Marker.pm lib/Kephra/Edit/Search.pm lib/Kephra/Edit/Search/InputTarget.pm lib/Kephra/Edit/Select.pm lib/Kephra/Edit/Special.pm lib/Kephra/EventTable.pm lib/Kephra/File.pm lib/Kephra/File/History.pm lib/Kephra/File/IO.pm lib/Kephra/File/Session.pm lib/Kephra/Help.pm lib/Kephra/Log.pm lib/Kephra/Macro.pm lib/Kephra/Menu.pm lib/Kephra/Plugin.pm lib/Kephra/Plugin/Demo.pm lib/Kephra/ToolBar.pm LICENSE Makefile.PL MANIFEST This list of files MANIFEST.SKIP META.yml README share/config/global/autosaved.conf share/config/global/autosaved.conf.old share/config/global/autosaved.conf~ share/config/global/data/notepad_content.txt share/config/global/data/search.yml share/config/global/sub/documentation/cesky.conf share/config/global/sub/documentation/deutsch.conf share/config/global/sub/documentation/english.conf share/config/global/sub/pbs.conf share/config/interface/appbars.yml share/config/interface/cache/index_l18n.yml share/config/interface/commands.conf share/config/interface/contextmenus.yml share/config/interface/icon/app/wxpl.ico share/config/interface/icon/set/jenne/app-exit.xpm share/config/interface/icon/set/jenne/bookmark0.xpm share/config/interface/icon/set/jenne/bookmark1.xpm share/config/interface/icon/set/jenne/bookmark2.xpm share/config/interface/icon/set/jenne/bookmark3.xpm share/config/interface/icon/set/jenne/bookmark4.xpm share/config/interface/icon/set/jenne/bookmark5.xpm share/config/interface/icon/set/jenne/bookmark6.xpm share/config/interface/icon/set/jenne/bookmark7.xpm share/config/interface/icon/set/jenne/bookmark8.xpm share/config/interface/icon/set/jenne/bookmark9.xpm share/config/interface/icon/set/jenne/clean-up.xpm share/config/interface/icon/set/jenne/colorpicker.xpm share/config/interface/icon/set/jenne/config-mode-full.xpm share/config/interface/icon/set/jenne/config-mode-html.xpm share/config/interface/icon/set/jenne/config-mode-perl.xpm share/config/interface/icon/set/jenne/config-preferences.xpm share/config/interface/icon/set/jenne/edit-bookmark.xpm share/config/interface/icon/set/jenne/edit-copy.xpm share/config/interface/icon/set/jenne/edit-cut.xpm share/config/interface/icon/set/jenne/edit-delete.xpm share/config/interface/icon/set/jenne/edit-edit.xpm share/config/interface/icon/set/jenne/edit-paste.xpm share/config/interface/icon/set/jenne/edit-redo.xpm share/config/interface/icon/set/jenne/edit-replace.xpm share/config/interface/icon/set/jenne/edit-undo.xpm share/config/interface/icon/set/jenne/editor-fullscreen.xpm share/config/interface/icon/set/jenne/empty.xpm share/config/interface/icon/set/jenne/favourite.xpm share/config/interface/icon/set/jenne/file-close.xpm share/config/interface/icon/set/jenne/file-new.xpm share/config/interface/icon/set/jenne/file-open.xpm share/config/interface/icon/set/jenne/file-print.xpm share/config/interface/icon/set/jenne/file-save-all.xpm share/config/interface/icon/set/jenne/file-save-as.xpm share/config/interface/icon/set/jenne/file-save.xpm share/config/interface/icon/set/jenne/find-next.xpm share/config/interface/icon/set/jenne/find-previous.xpm share/config/interface/icon/set/jenne/find-start.xpm share/config/interface/icon/set/jenne/go-fast-backward.xpm share/config/interface/icon/set/jenne/go-fast-forward.xpm share/config/interface/icon/set/jenne/go-first.xpm share/config/interface/icon/set/jenne/go-last.xpm share/config/interface/icon/set/jenne/go-next.xpm share/config/interface/icon/set/jenne/go-previous.xpm share/config/interface/icon/set/jenne/goto-last-edit.xpm share/config/interface/icon/set/jenne/goto-line.xpm share/config/interface/icon/set/jenne/help-documentation.xpm share/config/interface/icon/set/jenne/help-home.xpm share/config/interface/icon/set/jenne/help-info.xpm share/config/interface/icon/set/jenne/help-keyboard.xpm share/config/interface/icon/set/jenne/help-mail.xpm share/config/interface/icon/set/jenne/help-tip.xpm share/config/interface/icon/set/jenne/image.xpm share/config/interface/icon/set/jenne/line-wrap.xpm share/config/interface/icon/set/jenne/marker-next.xpm share/config/interface/icon/set/jenne/marker-previous.xpm share/config/interface/icon/set/jenne/marker.xpm share/config/interface/icon/set/jenne/note.xpm share/config/interface/icon/set/jenne/output-panel.xpm share/config/interface/icon/set/jenne/panel-close.xpm share/config/interface/icon/set/jenne/preview.xpm share/config/interface/icon/set/jenne/reload.xpm share/config/interface/icon/set/jenne/replace-next.xpm share/config/interface/icon/set/jenne/replace-previous.xpm share/config/interface/icon/set/jenne/replace-start.xpm share/config/interface/icon/set/jenne/run-skript.xpm share/config/interface/icon/set/jenne/stay-on-top.xpm share/config/interface/icon/splash/start_kephra.jpg share/config/interface/icon/splash/start_kephra.xpm share/config/interface/iconset_jenne.conf share/config/interface/mainmenu.yml share/config/localisation/cesky.conf share/config/localisation/deutsch.conf share/config/localisation/english.conf share/config/localisation/espanol.conf share/config/localisation/norsk.conf share/config/localisation/romana.conf share/config/macro/test.macro share/config/plugin/installed.conf share/config/session/current.yaml share/config/session/history.yml share/config/syntaxhighlighter/ada.pm share/config/syntaxhighlighter/as.pm share/config/syntaxhighlighter/asm.pm share/config/syntaxhighlighter/ave.pm share/config/syntaxhighlighter/baan.pm share/config/syntaxhighlighter/batch.pm share/config/syntaxhighlighter/conf.pm share/config/syntaxhighlighter/context.pm share/config/syntaxhighlighter/cpp.pm share/config/syntaxhighlighter/cs.pm share/config/syntaxhighlighter/cs2.pm share/config/syntaxhighlighter/css.pm share/config/syntaxhighlighter/diff.pm share/config/syntaxhighlighter/eiffel.pm share/config/syntaxhighlighter/err.pm share/config/syntaxhighlighter/forth.pm share/config/syntaxhighlighter/fortran.pm share/config/syntaxhighlighter/html.pm share/config/syntaxhighlighter/idl.pm share/config/syntaxhighlighter/java.pm share/config/syntaxhighlighter/js.pm share/config/syntaxhighlighter/latex.pm share/config/syntaxhighlighter/lisp.pm share/config/syntaxhighlighter/lua.pm share/config/syntaxhighlighter/make.pm share/config/syntaxhighlighter/matlab.pm share/config/syntaxhighlighter/nsis.pm share/config/syntaxhighlighter/pascal.pm share/config/syntaxhighlighter/perl.pm share/config/syntaxhighlighter/php.pm share/config/syntaxhighlighter/property.pm share/config/syntaxhighlighter/ps.pm share/config/syntaxhighlighter/python.pm share/config/syntaxhighlighter/ruby.pm share/config/syntaxhighlighter/scheme.pm share/config/syntaxhighlighter/sh.pm share/config/syntaxhighlighter/sql.pm share/config/syntaxhighlighter/tcl.pm share/config/syntaxhighlighter/tex.pm share/config/syntaxhighlighter/vb.pm share/config/syntaxhighlighter/vbs.pm share/config/syntaxhighlighter/xml.pm share/config/syntaxhighlighter/yaml.pm share/config/syntaxmode/perl.conf share/config/template/perl.conf share/help/cesky/navigace.txt share/help/cesky/tahle_verse.txt share/help/cesky/vitejte.txt share/help/deutsch/alle_funktionen.txt share/help/deutsch/besondere_funktionen.txt share/help/deutsch/diese_version.txt share/help/deutsch/lizenz/anerkennung.txt share/help/deutsch/lizenz/gpl.txt share/help/deutsch/navigation.txt share/help/deutsch/tastaturbelegung.txt share/help/deutsch/willkommen.txt share/help/english/all_feature.txt share/help/english/keymap.txt share/help/english/license/artistic.txt share/help/english/license/credits.txt share/help/english/license/gpl.txt share/help/english/license/lgpl.txt share/help/english/license/scintilla.txt share/help/english/license/wx.txt share/help/english/navigation.txt share/help/english/special_feature.txt share/help/english/this_version.txt share/help/english/welcome.txt share/help/romana/functiuni.txt t/01_compile.t t/02_config.t t/03_config_default.t t/04_config_data_tree.t t/10_new.t kephra-0.4.3.32+dfsg.orig/ignore.txt0000644000175000017500000000016411573645310016147 0ustar rizlarizlablib* Makefile Makefile.old Build Build.bat _build* pm_to_blib* *.tar.gz .lwpcookies cover_db pod2htm*.tmp Kephra-* kephra-0.4.3.32+dfsg.orig/LICENSE0000644000175000017500000004361411573645310015137 0ustar rizlarizla GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. kephra-0.4.3.32+dfsg.orig/Makefile.PL0000644000175000017500000000174011574540051016073 0ustar rizlarizlause warnings; use strict; use inc::Module::Install; use 5.006; #eval {}; #BEGIN {}; name 'Kephra'; license 'gpl_1'; author 'Herbert Breunung'; homepage 'http://kephra.sourceforge.net/'; bugtracker 'http://sourceforge.net/tracker/?group_id=169747&atid=851590'; all_from 'lib/Kephra.pm'; requires 'Cwd'; requires 'Encode::Guess'; requires 'File::UserConfig'; requires 'Config::General' => 2.40; requires 'YAML::Tiny' => 0.31; requires 'Text::Wrap'; requires 'POSIX'; requires 'Wx' => 0.94; requires 'Wx::Perl::ProcessStream' => 0.25; build_requires 'Test::More' => 0.47; build_requires 'Test::Script' => 0.01; build_requires 'Test::NoWarnings'; build_requires 'Test::Exception'; no_index 'directory' => qw{ t xt share inc }; install_share 'share'; install_script 'bin/kephra'; WriteAll; kephra-0.4.3.32+dfsg.orig/doc/0000755000175000017500000000000011633700043014657 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/doc/Roadmap0000644000175000017500000000310411573645310016173 0ustar rizlarizla1.0: - plugins: tree, commandline, projects, filesystem - tools: outline, tidy, debugger 0.7 Toolintegration + error highlighting/simple debugger + App::Ack 0.6 Plugin API + commandline and tree tool extention + simple file browser + tidy 0.5 polish for daily use 0.4.5 0.4.4 fresh docs, about dialog, more localisations 0.4.3 utf safe, cpan install, marker 0.4.2 new tabbar, better folding 0.4.1 folding, more converter 0.4 fully configurable 0.3.10 output and notepad panels 0.3.9 inline default configs now complete 0.3.8 move tabs 0.3.7 autosave, autonotify 0.3.6 new formater 0.3.5 file history and templates menu 0.3.4 open dir 0.3.3 new configurable GUI, commands and event system 0.3.2 brace navigation, contextmenu on text selection 0.3.1 searchbar, bookmarks, goto last edit, DnD files 0.3 more comfort + autoindent, bracelight, braceindent, block navigation + search and replace in files, search item history + file sessions, info symbols in tabbar, drag'n'drop of files + enhanced statusbar is now interactive and has contextmenus 0.2.3 file sessions, save on exit dialog 0.2.2 search and replace in files 0.2 multi document handling + find and replace dialog + opens with same docs and settings as on close, otional ask before close + autodetect EOL mode and write protection, faster IO + more customizable Syntaxstyles with autoselect by fileending + more visual helper, win XP look 0.1 first public stable release + edit only one document + syntaxhighlighting + basic file IO + some graphic markerkephra-0.4.3.32+dfsg.orig/doc/Todo0000644000175000017500000000131211573645310015514 0ustar rizlarizlaopen Issues, known problems Technical Issues: - file open clutter in Tabbar 0.4.4 + new mouse controls + 3 new tools 0.4.5 + more encodings + utf convert + config dialog 0.5 + about dialog 0.6 + plugin API, demo, syntaxchecker + extensions: commandline, tree lib tool long time: plugins: - filebrowser - project manager - outlining - commandline - command tree aka snippet lib internal: - Panel API - split output extension in output panel and interpreter tool ? nested menu prepare event + no global vars + all event trigger are local - every event handeled by eventtable --- Legend: ? dunno how to do + almost done - waitenskephra-0.4.3.32+dfsg.orig/doc/interna/0000755000175000017500000000000011633700043016317 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/doc/interna/sketch.txt0000644000175000017500000000567311573645310020364 0ustar rizlarizla[name] pce = perfect coding enviroment | perl crypted extension | polymorphic code elements .... pce - pse? namensgebung aus kosmologischen grnden mit ein paar quantenphysikalischen berlegungen(bootstrap-aufbau) aus elementen aufgebau soll der editor soll universal einsetzbar sein Perfekt - natrlich soll die software die beste sein perl - ist die sprache in der der editor geschrieben ist der geist von perl:(tismtowtdi)(maximale freiheit - kombinierbarkeit der krfte von elementen ) alles ist schpfung also auch wandlung nur gott ist ewig coding - es geht um textbeabeitung es geht um schiffrierung und sinngebung in verschiedenem syntax enviroment - nicht emacs aber es sollte alles bieten was ein programmierer braucht um texte zu bearbeiten [warum perl?] - perl ist effektiv, mchtig, unaufdringlich, schnell genug und meine lieblingssprache - idealer textprozessor/es geht um textbasierendes editieren - perl als scriptsprache erlaubt einheitliches format fr quellcode, config, macros,plugins im einheitlichen namensraum!!! - da der quellcode perl ist, braucht man nur den editor um den editor zu verbessern (+eingebaute hilfen) [softwaredesign] - fr win / lin(gtk) - bin anteil platformabhngig - src(perl + wx) plattformunabhngig - installer: NSIS / rpm - visual toolkit:wxPerl - nutzung vieler wichtiger open source gemeindschaften: scintilla(wxSTC), wxwindows, mozilla(wxMozilla), CPAN - autonom / keine detein bentigt ausser das was der interaktive downloadmanager ausspuckt - minimal perl(800kB) und andere opensource tools(tidy,cvs,7z,bzip) enthalten(je bedarf) - < 9MB incl perl und wxperl; <1 MB eigentlicher quellcode - autonome Module mit autoerkennung [config] - config in lokalen text-datein die jeden umzug berstehen - alles Konfigurierbar(graphisch und in textdatein) - teilverhalten in subconfigs splitbar / subconfigs frei einbindbar - alles ist automatisierbar / jede Aktion ist ein macrokommando - leichte bersetzung in andere sprachen [visual design] - viele Module - 1 Fenster - mglichst wenig dialogboxen - optionale kommandozeile (z.B 1fr shell und eine fr suchbefehle) - wiederverwendbare gleichstrukturierte module - mit gehaltener taste sollen module frei positionierbar sein - exotische schriftstze spter, dank pango geplante module/bennung noch unklar mehrfache instanzen eines module(2 texte parralel) sollen mglich sein [module] (neutron) kern/oberflche/plugin,update& statuszentrale (proton) editorkomponente / visuals (elektron) kommandozeile / kommandozentral4 weitere: -projektverwaltung -schnittstelle zum dateisystem -semantische struktur -textbibliothek -kurzhilfen zur aktuellen programmiersprache / sprachbaum -shortcuts -vorschau/wxMozilla/wxIE vielleicht spter auch fr tex u -streng geheime visualisierungs werkzeuge [extensions] kephra-0.4.3.32+dfsg.orig/doc/interna/perlrules.txt0000644000175000017500000001767011573645310021120 0ustar rizlarizlawarum ich kein python mag? -------------------------- Ehrlich gesagt hab ich mich von python bedroht gefhlt, so stark, dass ich unbedingt was machen musste um python ordentlich schlecht zu machen. Jetzt hinterher merk ich deutlicher, dass meine Angst, mit Perl nicht mehr in zu sein, kleingeistig war und dass mein Perl nie in der Versenkung verschwinden wird, eher glaub ich, dass perl6 die Python Entwickler hart fordern wird. Aber am Anfang machte es mich schon rgerlich, dass Python in aller Munde und Perl nur noch von Historikern und Journalisten erwhnt wurde. Dass viele die ich bewundere Python als beste Scriptsprache schtzen war noch in Ordung aber das ganze verlor sein natrliches Gleichgewicht zumal die meisten Argumente nicht die cleversten sind. Gerade dass mir die ganze Diskussion um die beste Scriptsprache billig vorkam lockte meinen Senf dazu hervor. Computersprachen Generell bei Programmiersprachen gibt es grob 2 Kontraste. Einer liegt zwischen Mensch und Maschiene. Also vereinfacht zwischen langsamen und komplexen Programmiersprachen(perl, python, ruby oder haskell) die dem menschlichen denken nah sein sollen und den schnellen und (fr Maschienen) einfachen Sprachen (assembler). C und C++ liegen irgendwo in der Mitte. Weil Computer immer schneller und breiter werden, waren Sprachen wie Ruby und Perl erst in den letzten Jahren praxistauglich. Der andere Kontrast liegt zwischen schlanken und umfangreichen Sprachen. Also die Frage was gehrt zur Sprache und was gehrt in die Bibliotheken und Erweiterungen. Weil Programme immer mehr werden und immer mehr Aufgaben bernehmen wird es auch hier immer sinnvoller Standartbibliotheken zu verwenden und Sprachen zu erweitern, damit es nicht jeder Nutzer fr sich machen muss. Grade dafr sind wieder die maschienennahen Sprachen sehr gut. Grad die Standartbibliotheken (zB Wx) sollten so wie Perl auch in C geschrieben sein. Damit sind Perl-Programme schneller als mit in Perl geschrieben Bibliotheken. Doch warum kmmere ich mich nur um Perl und Python? Weil diese beiden Sprachen in der Praxiswelt grad ganz vorne stehen. Klar gibt es noch Visual Basic von Microsoft, das natrlich verbreitet wie Hlle ist, reiche Bibliotheken hat und auch so schn langsam ist das es sogar von Perl berhohlt wird. Aber das beachte ich nicht weil es nicht frei ist und auch nicht innovativ ist sondern ein MS UrBasic+OOP+COM. Auch TCL vernachlssige ich weil es Perl seit Jahren hinterherhechelt ohne dessen Mut zu besitzen. Lua ist eher das was TCL einmal sein wollte: eine kleine schnelle Erweiterungssprache und auch Ruby ist noch zu jung um wirklich hier mithalten zu knnen. Haskell, zuletzt, ist wirklich innovativ aber noch viel zu langsam und nicht tauglich fr echte Programme. PHP wird gerne als beliebteste Scriptsprache genannt, aber PHP ist wie XLST Versuch die Datenstruktur ber das Programm zu stellen. Fr Leute die nicht einsehen wollen das man zum programmieren eine Programmiersprache brauch. PHP ist an HTML und XLST an XML gefesselt, aber ich wollte ja von freien Sprachen schreiben, es bleiben also die 2: Perl und Python technisch. Perl ist etwas lter, ausgereifter, hat mehr verwendbare Erweiterungen schreckt aber Anfnger mit vielen sehr sonderbaren Konstrukten ab die zum Teil noch aus der Saurierzeit der alten Unixwelt stammen und hat auch einige Entwicklungen(Unicode) etwas verschlafen. Python ist aufgerumter und usserlich konsequenter und versucht grad auf den letzten Feldern wie der Regex, nested scopes usw, wo Perl noch vorraus ist, dies aufzuhohlen. Python hat aber selber schon viele Eigenheiten die erst mal gelernt sein wollen (wie zb. open, open2, open3, open4; """ usw). Aber zu sehr Einzelheiten gegeneinander aufzuwiegen macht nicht so viel sinn weil beide Sprachen noch wachsen, fehlentwicklungen zurckgenommen werden und voneinander gelernt wird. Es gibt grosse berschneidungen in vielen Dingen die sich praktisch bewhrt haben. Wo liegen dann die grossen Unterschiede? Perl und Python wurden mit recht verschiedenen Denkansetzen geschaffen. Der grsste Unterschied zwischen Perl und Python liegt darin, dass Individualitt und Genialitt von Perl mehr zugelassen und gefrdert wird als von Python. Python wurde geschaffen um leichter seinen Job zu machen und in der Freizeit genial zu sein. Perl lsst dem Entwickler mehr Freiheit zu entscheiden was gut ist. Dieses Vertrauen in meinen Stil dass mir Perl entgegenbringt hilft mir mich wohl zu fhlen. Grad emotionale Sachen werden von technisch orientierten Menschen als weniger wichtig abgetan, aber Grundvertrauen dass alles gut ist und dass jeder selber weiss was fr ihn gut ist, ist sehr sehr wichtig und mehr als gesund: heilend! Ich sage aber nicht dass Python bse ist und mich schikanieren will. Python stammt von Schulsprachen wie ABC und Modula(Pascal). Auch wenn ich finde dass die Schpfer von ABC und Pascal in der guten Absicht bessere Programmierer zu erziehen die Menschen etwas von ihren natrlichen Antrieben abbrachten, wollten sie den Schlern wertvolle Ideen mitgeben die ihnen helfen sollten. Es ist aber grundverkehrt die Nutzer zu diesen Prinzipien zu zwingen. Jeder Pdagoge weiss dass Zuneigung, Offenheit und Frderung der natrlichen Talente viel viel mehr bringt als zusammenhangslose Ratschlge und Zwnge, die nur Trotz oder Selbstzweifel frdern. Und der ausgelernte Programmierer mit eigener Persnlichkeit brauch nun berhaupt gar keinen der einem was vorschreibt, sondern ein Werkzeug, dass genau das macht was er mchte. Python meint auch, dass es wichtiger ist den Einstieg leicht zu machen als ganze Potentiale einzelner komplexer Befehle al gusto verknpfen zu knnen. Damit wird Python aber zum schlechteren Werkzeug fr die Erfahrenen und zu dem was Python von Anfang sein wollte: eine Lern- und Ausbildungssprache. Darin wird sie Perl immer berlegen sein obgleich man mit Auslassen der anspruchsvollen Konstrukte auch Perl leicht lernen kann wenn man keine Lust auf Schikane hat. Python's Papa Guido van Rossum sagt oft sinngemss: "es ist besser sich anzupassen weil es die Zusammenarbeit erleichtert und man auch so nach Monaten leichter seine eigene Programme versteht", was ja grad bei komplexen Sprachen wie Perl oder Python wichtiger ist als in einfacheren wie C. Diese rckgratlose Jobmentalitt widert mich an. Wenn ich FREUDE und BEGEISTERUNG beim verstehen von Algorithmen und deren Implementierung empfinde, kann ich mir sehr gut alles merken. Demenz ist Anzeichen unbewusster Verdrngung, fragen sie hierzu ihren Heilpraktiker. Und wenn ich Menschen mag, versteh ich auch leichter ihre Art zu denken und zu programmieren, auch wenn ich selber es anders machen wrde. Die Krcke der Vereinheitlichung nuschelt immer zu mir, dass Leute gar nicht vorhaben einander zu mgen. Man erinnere sich: Liebe ist die Freude am Andersein des Gegenbers. Perls Schpfer Larry Wall ist gottesglubig und weiss das. Er meint, dass es fr das Ganze besser ist wenn jeder er selbst bleibt und Freude daran hat. Und wenn es mir Spass macht mchte ich frei sein den verworrensten Quellcode schreiben der jeden obfuscation-contest gewinnt. Python wrde mir diese Freiheit nie lassen. Das Ideal der Sauberkeit ist dort wichtiger als Freiheit, erinnert mich etwas an 33, auch wenn es unfair ist. Es gibt kein hheres Ideal dass mich zu etwas verpflichtet, dass man nicht mchte. Auch nicht in der Computerwissenschaft. Es ist sinnlos etwas zum Wohle von etwas anderem zu verletzen. Leider merkt das nicht jeder. Deswegen werden mit Python die zerbrechlichen kaum beachteten Seelen zum Wohle der Computerwissenschaft verbogen. Dabei sollen grad Scriptsprachen dem Menschen dienen. Grad hier sind soziale und spirituelle Dinge viel wichtiger als in frheren Computersprachen wo es noch mehr darum ging den Computer erstmal zum Funktionieren zu bekommen. Es ist faszinierend etwas Funktionierendes aufzubauen, aber Menschen wollen mehr als nur funktionieren. Warum gibt es Perl Poetry aber kaum mir bekannte Python Poetry?kephra-0.4.3.32+dfsg.orig/doc/interna/manifest.txt0000644000175000017500000002436411573645310020707 0ustar rizlarizlaDieser Text soll den Leser davon berzeugen das es noch einen Editor geben sollte, den PCE! Keine Angst vor der Textlnge, es macht Freude zu lesen, nur wen Eigenlob strt sollte den ersten Absatz verpassen.Weiter Beleidigung der Konkurenz unter EDITOREN. -------------------------- Hilfe! noch einen Editor -------------------------- Winsle nicht um Gnade, wenn dir dein Editor reicht fliehe. Doch weil kein Editor perfekt sein kann wirst du wohl noch ein paar Zeilen lang interessiert weiterlesen. Perl rulez! Ja, angeblich gibt es genug Editoren, fr jeden Programmierertyp und Anlass den passenden. Es gibt mchtige Entwicklungsumgebungen(IDE's) fr 'ne Programmiersprache, es gibt kleine schnelle Editoren mit denen man Text eingeben und speichern kann und Editoren die dies und das sehr gut knnen, sogar Betriebsysteme, die von sich behaupten sie seien ein Editor(Emacs), aber keinen perfekten Editor, kein perfect coding enviroment das alles kann was mit dem Bearbeiten von Textdateien zu tun hat. Viele Editoren haben Werkzeuge die nur auf bestimmte Probleme getrimmt sind. Kaum geht das Leben einen Schritt weiter wird es wenig brauchbar, richtig intelligente Werkzeuge sehe ich selten bis gar nicht und sind die Editoren in manchen Bereichen wirklich gut, braucht man eh noch einen zweiten oder dritten sobald man ein anderes Aufgabenfeld betritt. Die Grossen sind meist zu schwerfllig, fressen zu viel Platz und brauchen ihr eigenes Lernprogramm weil viele Funktionen nur auf umwegen erreichbar sind oder nur mit Tastenkombinationen die ich als Anfnger nicht kenne. Die kleinen Editoren sind meist nur ein notepad mit einigen zustzlichen Mglichkeiten die die berlegenheit dieser Programme zeigen sollen. Bis ich weiss welcher dieser 50 Editoren der berlegene ist wechsle ich mit einem Tastendruck lieber in den abgespeckten Modus des PCE und hol mir die Funktionen dazu die ich brauche. Mit dem PCE vor Augen wird man einsehen das die allermeisten Editoren halbfertig sind und das aufgespreizte Gefieder ihrer Features einen geistigen Rohbau verdecken soll. Und genau deswegen lsst das Thema Editor viele Coder zum Hulk werden, weil sie meinen genug getestet zu haben und lieber etwas programmieren statt sich ein Programm anzuschaun das sie eh nicht benutzen werden. Schreiben ist eigentlich 'ne Sache die nichts weiter braucht als Inspiration, einen Stift und den Drang etwas zu erschaffen. Das weiss ich. Doch wenn Software dann richtig. Und die Heuschreckenschwrme von Editoren die in den Downloadarchiven ihr Unwesen treiben beweisen doch: Alle Lebewesen streben im grossen Strudel gen Perfektion die leider noch nicht erreicht wurde. Also treffen wir einfach das Ziel mit dem -------------- Geheimrezept -------------- Ich denke diese Dinge sind: 1. eine universale Anwenbarkeit durch universale Anpassbarkeit und Erweiterbarkeit 2. zur Vermeidung jeglicher Dummenarbeit universale Automatisierbarkeit 2. einfache benutzung, klare struktur, gute hilfe 3. Sparsamkeit mit Speicher, Festplattenplatz, nicht zu langsame Ausfhrung 4. Freude an der Sache Und ich behaupte mal PCE wird all das erfllen knnen. ------------------------- PCE- das allheilmittel? ------------------------- So ungefhr. PCE soll jedes Problem das mit Textbearbeitung(kein Office oder DTP) zu tun hat lsen knnen und jeden anderen Editor ersetzen. Er soll auch mit einigen neuen frischen Ideen kommen, fr Begeisterung sorgen und die leute zum teilen und gegenseitigem helfen ermuntern. PCE wird sogar die Probleme lsen an die du noch nicht dachtest. Aber ich will nicht blenden, deswegen jetzt anfassbare -------- Fakten -------- PCE wird NICHT GROSS, zwischen 4 und 12MB, je nachdem welche Komponenten schon auf dem Rechner da sind. (1,2MB Perl) (7MB wxPerl incl Scintilla und erweiterungen) (1MB CVS) (1-2MB quellcode) (1MB hilfe) zur zeit ist das zip 3MB gross, wird wohl auf 4MB anwachsen, also ist der PCE auch downloadbar! PCE wird auch NICHT LANGSAM weil er Komponenten aus dem vorkompiliertem Wx-Framework benutzt und nur mit dem Kern bootet und Perl zur Laufzeit alles gebrauchte nachladen kann. Perl rulez! Im Moment startet er noch in 2,3 sec auf meinem 800 Duron und XP. PCE ist NICHT KOMPLIZIERT. Er wird installiert wie jedes andere Programm und soll einfacher benutzbar sein als andere Editoren. Er kann per Dialog oder direkt per xml/pm config-text-datei configuriert werden, und ohne Neuinstallation berall auf rechner der gleichen Platform hinkopiert werden. PCE ist PORTIERBAR zwischen Linux, Windows, spter auch mac, weil der perl-quellcode identisch bleibt. Nur die fr die Platform komilierten Packete mssen ausgetauscht werden. Das knnte man auch mit installieren und kopieren von Perl und WxPerl und einigem mehr selbst machen weil die Komponenten in einer einfachen Dateistruktur abgelegt sind. PCE ist LEICHT ERWEITERBAR. Obwohl Plugins in allen Sprachen mglich sein werden (fr die es wollen), tun es ein paar zeilen perl auch. dafr muss man nicht wirklich Perl knnen javascipt niveau reicht. PCE versorgt einen mit allen Infos die man dafr braucht Alles bis jetzt ist ja nicht schlecht, aber nichts besonderes. der wirkliche Vorteil vom PCE kommt im folgenden Tennismatch. --------------- Advantage PCE --------------- Mit PCE geht es mir um das ultimative Editierspielzeug. Und ich weiss das ich es nie allein oder mit einem kleinen Team schaffen werde dieses Spielzeug bis zur Perfektion zu bauen. Deswegen wird PCE Opensorce unter der OSL-Lizens(www.opensource.org) verffentlicht. So kann ich Opensource Software(OSS) wie z.B.Perl, wxPerl, Scintilla, CVS, Gecko und mehr nutzen und brauch nur den Rahmen zu entwerfen und hinzufgen was noch fehlt. Unterste Schicht bildet Perl darauf wxPerl und darauf liegt der eigentliche PCE in dessen Modulen noch mehr externe Programme oder Bibliotheken eingebunden sind. So kann ich mir das Beste was andere machen rauspicken. Fehler und Mehrfachentwicklungen werden vermieden und wir kommen so auch schnell aus dem Knick um etwas Ntzliches zu schaffen: Einen Editor der allen erlaubt ihre selbsgemachten Verbesserungen auszutauschen. Das geht weil dank Perl und wxPerl der eigentliche Quellcode unter Linux und Windows(Mac spter) identisch ist. Und dank Modularitt kann auch jeder Nutzer nach Herzenslust Module austauschen, weglassen oder verbessern. Gerade dadurch das alle aus dem gleichen Baukasten schpfen kann noch ein Webdesigner vom Scriptkiddie profitieren und ein Systemprogrammierer lernt Funktionen zu schtzen die sich Latex-Setzer ausgedacht hat. Aber eine offene Architektur hat noch mehr Vorteile: ---------------------------- das unperfekte ist perfekt ---------------------------- Warum wird soviel Software geschrieben? - weil es spass macht etwas zu erschaffen. Aber auch weil Menschen unterschiedlich denken und fhlen. Das meiste an Software ist leider viel zu unbeweglich. Wenn jeder alles leicht anpassen knnte gebe es weniger Neuentwicklungen und man htte mehr Potential das man zusammenfhren kann um etwas grsseres oder besseres zu schaffen. Am besten nutzt man dabei die Erfahrungen seiner Vorgnger. Informatiker sagen dazu: auf den Lebenszyklus von Sofware vertrauen. Das bedeutet man macht eine Sache so gut es geht (gut genug ist eine masseinheit fr einen JAPH) um die Aufgaben zu lsen die man grad hat oder die auf kurz kommen werden. Dadurch kann kann man zgiger einen Stand abschliessen, um ber den Bullshit den man verzapft zu reflektieren und es beim nchsten mal besser zu machen wenn man wieder bei 0 anfngt (rebuild from scratch). So schafft man sauberen code und auch ein programm zum wohlfhlen das die meisten praxisnahen Probleme lsen kann. Wenn man von Anfang an so plant, zeigt man Weisheit und Kenntnis von den Grundregeln des Lebens. Larry Wall(Perl - Grnder) macht das auch und ist deswegen ein guter Mensch. ------------------------ Baukltze prgten mich ------------------------ Was einen guten Menschen auch ausmacht, ist Vertrauen in die Eigeninitiative und den guten Willen sich zu einigen. Auch deswegen ist der PCE ein Baukasten. Wenn die Module durch einfache und saubere Schnittstellen getrennt sind knnen verschiedene Leuten an verschiedenen Orten sie unabhngig schreiben. Diese Module geben dem PCE immer eine Gruppe an Funktionen die nach Bedarf, whrend PCE luft, rein und raus geladen werden knnen. Diese kleineren Codebatzen kann man besser berblicken und was sehr schn ist: sie haben kleinere Lebenszyklen und reifen deswegen schneller. Und sie gliedern sich ein wie ein normaler Programmteil der alles berall aufrufen kann ohne das ich was dafr tun muss. Das kommt durch die als veraltet oder unseris verlachte Offenheit der Perl-sprache. Viele moderen Sprachendesigner glauben wenn man alles kontrollieren kann wird alles besser. Als wenn Gesetze jemals fr Gerechtigkeit sorgen knnen. Komplexe Strukturen sind zuweilen das elegante Mittel. Wann man es benutzt, sollte aber nich vorgeschrieben sein. Freiheit und Austausch ist wichtiger. Und Perl kann nun mal OOP und SP parallel. Warum whlte ich noch ausgerechnet Perl fr PCE? ------------- Perl rulez! ------------- Perl steht fr praktisches und cleveres denken das bis zu einer Spiritualitt reichen kann. Letztlich plane ich hier aber einen Texteditor. Und Perl ist berhmt und berchtigt fr seine Fhigkeit Text zu bearbeiten. Perl ist sogar die schnellste Sprache darin, was echt berrascht da Perl sonst nicht das schnellste ist. Grade weil Compiler-Sprachen viel schneller sind meinen viele Programmierer das Scriptsprachen wie Perl fr Applikationen(grosse Programme) nicht gut sind. Scriptsprachen haben haben aber grad fr grosse Programme den Vorteil das sie viel krzer sind. 10mal krzer ist aus erfahrung normal. Das kommt, weil man bei Scriptsprachen mehr mit weniger sagen kann. Das gefllt mir. Die Entscheidung war gefallen. Ausserdem sind heutige Rechner schnell genug. Wozu eigentlich? Damit es einem die Arbeit erleichtert denk ich. Also bleibts bei Perl oder einer anderen grossen Scriptsprachen. Von denen es in echt nur 3 gibt. Und alles in allem ist Perl die beste Wahl. Allen Anhngern einer Kampfkunst kann ich das auch unter 4 Augen genauer erklren. Letztlich glaub ich ist Perl die ausgereifteste Computersprache berhaupt und wird es mit Perl 6 noch eine Weile bleiben. kephra-0.4.3.32+dfsg.orig/doc/TestingReleases0000644000175000017500000004720411573645310017722 0ustar rizlarizlarelease notes of all Kephra testing versions 0.4.4 Acme {0.4.3.13} * acme like mouse control + paste (left+middle) + cut (left+right selected left to right) + delete (left+right - selected right to left) + search (middle on slection) or goto last edit (if no text selected) + middle (insert slection) inspired by from emacs * better basic editing + toggle selection with ctrl+y + select content items with ctrl+shift+y + insert rectangular selections + move line tabwise left and right with ++ * new tools: + copy surrounding quoted string + insert last used perl var in that block + insert time and date ~ moved to tools menu: autoindention, braceindention, bracecompletion + bug and request tracker links in help menu + zoom in, out and back with ++<+>,++<-> and ++<#> + works also in output panel + note slection (shift+f12) + copy with left click on selection + search selection with middle click + copy selection in output panel with ~ brace nav is caret pos aware (jumps from inside to inside or outside to outside) ~ replace to nothing enabled again ? 7 new tests, 17 reactivated " added keyword default to perl lexer def ' updated keymap and navigation ' pod fixed by kristian++ 0.4.3 SciTe * utf handling + open, change and save utf files + new document property: encoding + autodetect, read and write utf files + status field codepage [ added encoding menu under document > encoding ! conversion may still be problem ! utf menu label work again * Marker + goto prev|next [global], set/unset or delete marker + set/unset marker and bookmarks by mouse + session file stores marker positions [ marker nav in searchbar [ new bookmark icons (jenne++) + new tools + color picker + output selection in dec and hex + output %ENV + notepad has line move and goto search bar ~ templates moved into tools folder + reworked UI + romanian localisation + loading statusbar from config + statusbar has context help while mouse hover " added keys app > statusbar > file and app > statusbar > node [ contextmenus are more visually synced with statusbar + new main window modes + fullscreen mode + max editpanel mode (disables all bars) + transparent mode + you can combine stay on top and transparent mode with Ctrl+Alt+F11 + end all modes with esc key ~ code folding changes ~ fold function from context menu respond to clicked location ~ change sibling to level fold ~ changed key binding, all function are now [+ ] + <+> + editpanel margin context menu + all context menu now are optional + switch menubar visibility + can assign icons to menus (currently on file open and close ) + set search dialog transparency unter dialog > search > transparency + run script icon in main toolbar [ some icons reworked (jenne++) [ rearranged file and tools menu [ splitter are now without live update, has lot less flicker ~ autoconverts of EOL are now visible and easy to undo + save and restore textfold state in sessions and file history + writes files also in missing dirs + refresh autosaved configs after cpan update ~ line_nr margin width autosize works now per doc ~ current dir is now always synched with current file ' updated german help-forum link " different defaultsettings for new and opened files ! crash while folding ! all visual settings work global again ! all event react on selection correct again ! don't loose caret while find and defold ! fixed cursor pos on line move ! wrong tabbar content after some close doc events ! tab info chat in wrong tab ! bookmarks work again ! splashscreen works again ! fixed test suite 0.4.2 Phase 5 * folding changes + fold all (alt+shift+plus) + fold recursively (alt+shift+minus) + key binding for fold ops: fold => alt+minus, fold siblings => alt+plus ~ fold mouse binding: left => here, midd => recursive, right => siblings, l+f => all + optional flagline shows where text is folded + option for keeping caret visible while folding + second fold marker style set editpanel > margin > fold > style to arrows or boxes + open online doc and native lang forum URL in default browser + convert spaces to its HTML entity + convert all ISO 8859-1 enteties except whitespace + display @INC pathes + recognizes now tab mode of opened file + file > defaultsettings > EOL_new can now be 'OS' => new files have lineendings according the OS you currently run + note selection on shift+f4 - no menu icons under mac ~ doc property bracelight is now view option ~ editpanel autofocus is now off per default ~ rearranged main app layout (no more icons on tabbar) ~ rearranged context menu of tab status bar cell, now with more items ~ config key app > panel > notepad > content renamed to content_file [ moving folding menu to fold margin in view menu [ unfolding when goto a hidden line [ can set text margin to width of 3 px ] define event groups ] new module Kephra::Document::Property for by user changeable doc property " some locale strings were translated to wrong language ! countless fixes, many from Andreas Kaschner++: 0.4.1 Kommodo Edit * code folding support + fold sibling nodes + intial norsk localisation + intial czech localisation + select interpreter with config key app > panel > output > interpreter_path + file missing dialog + commandlist cache + autopluggable localisation system + added config key editpanel > auto > focus [ editpanel context menus don't open over margin anymore [ cleaner search dialog [ darker (yellow) caret line (was nearly unvisible) [ less intrusive default color for folding markers [ less intrusive default color for line number [ find item history realtime update now works in search dialog ] new commandlist leaf: keycode ] reworked parts of Kephra::API::CommandList ] reworked parts of Kephra::API::EventTable ] renewed parts of search module ] rebuild notify dialog ] moving codepage setting from hard wired to config set " editpanel > margin > fold is now a node that holds forecolor, back and visible ' updating key layout docs ' updated roadmap in kephra.pm POD ~ close app key binding changed + => + ~ changed name convention for icons no more underscore => new-names.xpm ~ open binary files (only_text = 0)is now default, problems with utf files ~ activate UTF8 for Config::General when locale file requires - close all key binding changed + - removed stupid restrictions not to open emty files ! 14 bugfixes 0.3.10 Padre * notepad panel extension * output panel extension for perl programs + added Menu: Tools + added Menu: View > Panel + avennue highlighter + BAAN highlighter + .bat highlighter + diff highlighter + errorlist highlighter + makefile highlighter + matlab highlighter + property file highlighter ~ added __WARN__ and __DIE__ to perl lexer [ splashscreen img and app icon now as xpm too [ + goto line icon [ fixed tabbar icon tooltip texts ] complete new starter ] internal file namespace cleanup ] renamed Config::Embedded -> Config::Defaults ] finished last Kephra::Config::Tree functions ] switched from YAML to YAML::Tiny (less code, less memory, all we need) ] making DragAcceptFiles optional because not supported by GTK ' added and extended POD for main and API Modules ' POD fix in Kephra.pm ' removed "all rightes reserved" ! restore curser pos in current file after restart ! fix perl lexer color definition ! fixed about dialog ! crash on file open ! Gabor: optimized config file type recogition ! toolbar appeared in wrong status bar cell ! wordchar settings where missing 0.3.9 Firefox + now complete embedded configs making Kephra selfhosting without config files + added pbp.conf according perl best practices + added replace selection into context menu over selected text in editpanel + context menu over statusbar info field + + works in searchbar + document switch backs works out of search bar + added pbp.conf according to damians perl best practices - removed default global and interface conf, replaced by embedded conf - removed select app language menu - remove Hash::Merge and Clone as dependencies [ put file sessions menu out of file menu on top level [ put goto-line into searchbar [ folding the upper half of the view menu ] lot of internal cleanups ' formated and updated documentation ? more compile tests for modules that arent loaded on start ! ignore in filechange notify dialog now works until next file change happens ! heavy bugfixing 0.3.8 + move tabs with ++ + Ctrl+Shift+G works from the searchbar input + position searchbar in the middle between tabbar and edit panel ~ change Switch doc back to ++ ~ move xml comment from + to + [ new splashscreen (finally one with the right name in it) ] wxperl 0.83 ! very much bug fixing 0.3.7 + autonotify (conf key file > open > auto_notify ) + autosave (conf key file > save > auto_save ) + Perl 5.10 keywords in the perl lexer + jump to doc begin and end from searchbar input whith +(|) + change doc from searchbar input whith +(|) + added replace line Command to main menu: Edit > Line > Replace ~ changed tablabel configfile : prefix $ ~ join lines now leaves a space between joined lines ~ join lines has key binding : ++ ' added POD documentation 0.3.6 + blockformat ++, menu edit > format + line wrap under menu edit > format + load and store a backup file session + firstname: new document property holds filname without ending + can use [$$firstname] as template variable too + reload templates on save + move document line and page wise from searchbar input + tabbar tabs numbering optional config key: app > tabbar > number_tabs + tabbar filename ending optional: app > tabbar > file_info = [first]name ~ renamed 'global\sub\localisation' to 'global\sub\documentation' ~ renamed 'config\icon' to 'config\interface\icon\' ~ reneame 'feature.txt' to 'all_feature.txt' [ removed ambiguity in german mainmenu navigation with keyboard [ use wx keycodes, less error prone ] less subconfigs ' some more documenting in default.conf ' advanced feature tour under 'special_feature.txt' ' some beginnings of czech localisation ! reload all docs switched to last doc ! move document line and page wise from searchbar input ! search dialog icon shows again ! optimizing speed and undef value handling of menu data generation ! file first names now correct when it has no file ending 0.3.5 * File history menu * Insert templates menu + custom title bar + option to make toolbars nonereactive (disable events) + multiple events on GUI element - auto brace join [ internal cleanups ! repaired searchbar ! exit dialog entitles also unnamed files ! some other bugs 0.3.4 + Open all files of a dir + searchbar contextmenu extended for search range + documentlist menu extended ] code claenup ~ changed statusbar onclick behaviour ~ format and convert function much faster ! many bug fixes 0.3.3 ? new configurable GUI, commands and event system + rebuild mainmenu + new reaktiv toolbar + searchbar contextmenu + rename files + drag n drop in search dialog [ checkable and disable main menu items [ tooltips and status help on tabbar icons ] faster tab change ~ better goto line dialog ~ search dialog quicker and with less flicker ! several bugfixes 0.3.2 ? beginning new configurable GUI system, rebuild contexmenus * brace navigation with + * new contextmenu on selected text + umlauts, disable checkitems and radioitems in context menus + new dynamic contextmenu on tabbar for selecting current document + delete back tab, + deletes now to next indention level + + now also switches focus back to editpanel ~ document switch back now on + ~ goto last edit now on ++ ! some bug fixes and internal cleanups 0.3.1 Nedit ? bigger core changes, some new features * searchbar with incremental search and 3 buttons (fore, back, goto last edit) + 10 doc spanning bookmarks + goto last edit + optional new and close icon in tabbar + rectangular selection with keyboard + files can now be dragged into editpanel + directories can now be dragged into editpanel + number of selected lines are displayed in statusbar [ shown pathes now absolute and OS compatibel ] new internal document property handling ~ much less flicker in toolbar and tabbar ~ block navigation now on +| 0.3 ? full stable release, more comfort * autoindent * bracelight and bracebadlight + braceindent and bracededent + leftclick on statusbar for changing settings shortcuts + leftclick on rightmost statusbarfield for getting infos about file + show unsaved and readonly status in tabs + show number of selected chars / cursor pos in % + optional warning dialog while overwriting files + replace line [ new fresher icons, several new for coming new functions [ 2 more functions in the toolbar [ more responsive cursor position display [ linenumbermargin has always enough width [ quit dialog now shows numbers and "unsaved files" [ faster splashscreen ] remember directory of session file ! php lexer fixed ! over 35 bugfixes 0.2.3 ? feature enhancement and bug fix * file sessions * on quit dialog for selecting files to save + open multiple files via dialog + history for search and replace strings + xp style now optional [ close current file with middle click on tabbar ! open empty files 0.2.2(.0) (switched to 4 number version counting, but i leave the last zero out) ? feature enhancement and bug fix * search and replace in files + asm style + save on change doc + open statusmenu files via mainmenu [ internal sub now only have one _ prefix ! bug in search prev ! style repaint on save as bug 0.2.11 ? feature enhancement and bugfix release + find in selection + replace all in selection + replace with confirm in selection + menu item find from start + recognise selection from menu calls + Ctrl+Enter (in search dialog) closes dialog and finds first (find button behaviour) + set max tab width via config [ more benchmark ! reload autosettings fixed ! status context menu changes language properly ! dialog saves search and replace text first time like it should ! minor checkbox selection fix in search dialog ! bug in font change ! line wrap bug 0.2.10: ? new feature and maintain release * contextmenus on statusbar + shift+Enter in search dialog searches backward [ massive refracturing fore new namespace [ several new modules ! minor fixes in menu 0.2.09: ? testing and maintain release + call replace in find dialog ~ DND Files now only over tabbar ~ close other now with ctrl+shift+Q ~ better search menu [ massive refracturing fore new namespace ! minor fixes in menu, statusbar, and keymap 0.2.08: ? shiny little feature enhancement release + Drag 'n Drop Files from Explorer into the Editor 0.2.07: ? suporting porters release + pce.pl can now called under win from anywhere ! small bugs in show files 0.2.06: ? minor enhancement release + block navigation + open files in current directory 0.2.05: ? maintaince release for linux usage - direct document selection with Alt+Number [ path for config and help can now be set freely 0.2.04: ? major stable and bugfix release + view option: stay on top / internal changes and cleanups ! bugfixes in menu and logic 0.2.03: ~ converter take now the whole text when nothing is selected / internal cleanup 0.2.02: + delete trailing spaces / cleaning internals 0.2.01: + 2 new options for opening files, replace new empty docs + single document mode + save last tilde files like that: file.name~ ! Bugfix in EOL Mode, the editor produced always cr+lf ! 2 Bugfixes in Main menu 0.2.00: ? major stable and bugfix release 0.1.99: + backup autosave file, and restore ist in emergency case - Bookmarks ! bugfixes 0.1.98: + save dialog on close and exit now contain cancel / internal improvements ! bugfixes in Config 0.1.97: + jumpes to the file if you open an already opened file / internal improvements ! bugfixes in main, config, file, document, STC ! bugfix in General::Config 0.1.96: + visual feature: switch back if you click on current a la opera + new option: start with an empty file + new option: open each file once + new option: open text files only / bugfixes 0.1.95: + autoreload for config files + this version texts ~ better menus ! bugfixes 0.1.94: ! fix from ugly bug that eating docs, therefor HIGHLY RECOMMANDED updated + ask now for unsaved files to save on quit ~ minor optical fixes in search dialog, save all icon, color of LLI 0.1.93: * settings for each document will handled seperately and saved to the next start these settings are at start cursorpos, syntaxstyle, EOL Mode, Tab usage + intention guides + caret line highlighting + autodetect EOL Mode + autodetect write protection + direct doc selection with Alt+Number ~ right margin color changesd ~ another app icon ~ search menu unfolded 0.1.89: ? bugfix release 0.1.87: * multiple document handling find, replace and bookmarks are still single document oriented 0.1.84: * find and replace dialog + win XP look 0.1.68: autosave options, customizable Syntaxstyle autoselect 0.1.64: german localisation, much faster reading of large files file menu: insert file, edit menu: format functions, convert functions document menu: eol mode, styles, spaces, write protection Statusbar: cursorpos, eol, spaces, style save and load external configs, handling close window event config: many new styles, contextmenu, color and caret settings 0.1.24: SECOND COMPLETE RELEASE (incl. PRE 0.2pre1)! file menu: reopen, save copy as, edit menu: Replace, Undo History, brace comment, Selection Move, line move indent unindent, script comment uncomment, search menu: find, find next, find previous, find selection, 3Bookmarks goto line number, view menu: hard tabs, whitespace, 4Margins, Line Wrap, font dialog, View EOL config menu: open, load and save config on the fly, default config file autsaves now all properties, save before exit, Keyboard Map, Licenses C-style, CSS Style, HTML-Style, select and autoselect Syntaxstyle remember file, asks for filename if you save new file, better Perl-style 0.1: FIRST COMPLETE RELEASE(incl. PRE 0.2)!, startexe, english Menu, file menu: new file, open, save file, save as edit menu: undo, redo, cut, copy, paste, clear, select all view menu: linenumbermargin, long line indikator, colored gutter, first syntaxstyle(perl), filename in tab and the title the VERSION number is like a date in the development timeline of the program, no matter which part, a bigger number comes always after a smaller, Kephra 0.2 comes after pre 0.1.23 Legend: ^ purpose * big new feature + new feature ~ change - remove ? tests ! bugfix [ interface ] internals " configs ' help/docu / commentkephra-0.4.3.32+dfsg.orig/doc/patches/0000755000175000017500000000000011633700043016306 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/doc/patches/print-draft.pl0000644000175000017500000001557311573645310021120 0ustar rizlarizlause Wx::Print; package Printing; use strict; sub window { shift; shift; my $parent = shift; return PrintingDemoWindow->new( $parent, -1 ); } package PrintingDemoWindow; use strict; use vars qw(@ISA); @ISA = qw(Wx::Panel); use Wx qw(:sizer); use Wx::Event qw(EVT_BUTTON); sub new { my $class = shift; my $this = $class->SUPER::new( @_ ); my $top = Wx::BoxSizer->new( wxVERTICAL ); my $canvas = PrintingDemoCanvas->new( $this, -1 ); my $preview = Wx::Button->new( $this, -1, "Preview" ); my $print = Wx::Button->new( $this, -1, "Print" ); my $buttons = Wx::BoxSizer->new( wxHORIZONTAL ); $buttons->Add( $preview, 0, wxALL, 5 ); $buttons->Add( $print, 0, wxALL, 5 ); $top->Add( $canvas, 1, wxGROW ); $top->Add( $buttons, 0, wxGROW ); $this->SetSizer( $top ); $this->SetAutoLayout( 1 ); $this->{CANVAS} = $canvas; EVT_BUTTON( $this, $preview, \&OnPreview ); EVT_BUTTON( $this, $print, \&OnPrint ); return $this; } sub canvas { $_[0]->{CANVAS} } use Wx qw(wxTheApp); sub OnPreview { my( $this, $event ) = @_; my $prev = PrintingDemoPrintout->new( $this->canvas, "Preview" ); my $print = PrintingDemoPrintout->new( $this->canvas, "Print" ); my $preview = Wx::PrintPreview->new( $prev, $print ); my $frame = PrintingDemoPreviewFrame->new( $preview, wxTheApp->GetTopWindow, "Printing Demo Preview", [-1, -1], [600, -1] ); $frame->Initialize(); $frame->Show( 1 ); } sub OnPrint { my( $this, $event ) = @_; my $printer = Wx::Printer->new; my $printout = PrintingDemoPrintout->new( $this->canvas, "Print" ); $printer->Print( $this, $printout, 1 ); $printout->Destroy; } package PrintingDemoPreviewFrame; use base 'Wx::PlPreviewFrame'; sub Initialize { Wx::LogMessage( 'PrintingDemoPreviewFrame::Initialize' ); $_[0]->SUPER::Initialize; } sub CreateControlBar { Wx::LogMessage( 'PrintingDemoPreviewFrame::CreateControlBar' ); $_[0]->SetPreviewControlBar ( PrintingDemoControlBar->new( $_[0]->GetPrintPreview, $_[0] ) ); $_[0]->GetPreviewControlBar->CreateButtons; } package PrintingDemoControlBar; use base 'Wx::PlPreviewControlBar'; sub new { Wx::LogMessage( 'PrintingDemoControlBar::new' ); $_[0]->SUPER::new( $_[1], 0xffffffff, $_[2], [0, 0], [400, 40] ); } sub CreateButtons { Wx::LogMessage( 'PrintingDemoControlBar::CreateButtons' ); shift->SUPER::CreateButtons; } package PrintingDemoPrintout; use strict; use vars qw(@ISA); @ISA = qw(Wx::Printout); sub new { my $class = shift; my $canvas = shift; my $this = $class->SUPER::new( @_ ); $this->{CANVAS} = $canvas; return $this; } sub GetPageInfo { my $this = shift; Wx::LogMessage( "GetPageInfo" ); return ( 1, 2, 1, 2 ); } sub HasPage { my $this = shift; Wx::LogMessage( "HasPage: %d", $_[0] ); return $_[0] == 1 || $_[0] == 2; } sub OnBeginDocument { my $this = shift; Wx::LogMessage( "OnBeginDocument: %d, %d", @_ ); return $this->SUPER::OnBeginDocument( @_ ); } sub OnEndDocument { my $this = shift; Wx::LogMessage( "OnEndDocument" ); return $this->SUPER::OnEndDocument(); } sub OnBeginPrinting { my $this = shift; Wx::LogMessage( "OnBeginPrinting" ); return $this->SUPER::OnBeginPrinting(); } sub OnEndPrinting { my $this = shift; Wx::LogMessage( "OnEndPrinting" ); return $this->SUPER::OnEndPrinting(); } sub OnPrintPage { my( $this, $page ) = @_; my $dc = $this->GetDC(); # we need to set the appropriate scale my( $x_size, $y_size ) = ( $PrintingDemoCanvas::x_size, $PrintingDemoCanvas::y_size ); my( $xmargin, $ymargin ) = ( 50, 50 ); # total size ( borders on top/bottom, left/right ) my( $xsize, $ysize ) = ( $x_size + 2 * $xmargin, $y_size + 2 * $ymargin ); # dc size my( $xdc, $ydc ) = $dc->GetSizeWH(); # calculate the scale my( $xscale, $yscale ) = ( $xdc / $xsize, $ydc / $ysize ); my $scale = ( $xscale < $yscale ) ? $xscale : $yscale; # center the image my( $xoff, $yoff ) = ( ( $xdc - ( $scale * $x_size ) ) / 2.0, ( $ydc - ( $scale * $y_size ) ) / 2.0 ); # set the DC origin / scale $dc->SetUserScale( $scale, $scale ); $dc->SetDeviceOrigin( $xoff, $yoff ); if( $page == 1 ) { $this->{CANVAS}->OnDraw( $dc ); } if( $page == 2 ) { } # empty page } package PrintingDemoCanvas; use strict; use vars qw(@ISA); @ISA = qw(Wx::ScrolledWindow); use Wx qw(wxCURSOR_PENCIL wxWHITE); use Wx::Event qw(EVT_MOTION EVT_LEFT_DOWN EVT_LEFT_UP); use vars qw($x_size $y_size); ( $x_size, $y_size ) = ( 800, 800 ); sub new { my $class = shift; my $this = $class->SUPER::new( @_ ); $this->SetScrollbars( 1, 1, $x_size, $y_size ); $this->SetBackgroundColour( wxWHITE ); $this->SetCursor( Wx::Cursor->new( wxCURSOR_PENCIL ) ); EVT_MOTION( $this, \&OnMouseMove ); EVT_LEFT_DOWN( $this, \&OnButton ); EVT_LEFT_UP( $this, \&OnButton ); return $this; } use Wx qw(:font); use Wx qw(:colour :pen); sub OnDraw { my $this = shift; my $dc = shift; # my $font = Wx::Font->new( 20, wxSCRIPT, wxSLANT, wxBOLD ); # $dc->SetFont( $font ); $dc->DrawRotatedText( "Draw Here", 200, 200, 35 ); $dc->DrawEllipse( 20, 20, 50, 50 ); $dc->DrawEllipse( 20, $y_size - 50 - 20, 50, 50 ); $dc->DrawEllipse( $x_size - 50 - 20, 20, 50, 50 ); $dc->DrawEllipse( $x_size - 50 - 20, $y_size - 50 - 20, 50, 50 ); $dc->SetPen( Wx::Pen->new( wxRED, 5, 0 ) ); # wxGTK does not like DrawLines in this context foreach my $i ( @{$this->{LINES}} ) { my $prev; foreach my $j ( @$i ) { if( $j != ${$i}[0] ) { $dc->DrawLine( @$prev, @$j ); # $dc->DrawLines( $i ); } $prev = $j; } } } sub OnMouseMove { my( $this, $event ) = @_; return unless $event->Dragging; my $dc = Wx::ClientDC->new( $this ); $this->PrepareDC( $dc ); my $pos = $event->GetLogicalPosition( $dc ); my( $x, $y ) = ( $pos->x, $pos->y ); push @{$this->{CURRENT_LINE}}, [ $x, $y ]; my $elems = @{$this->{CURRENT_LINE}}; $dc->SetPen( Wx::Pen->new( wxRED, 5, 0 ) ); $dc->DrawLine( @{$this->{CURRENT_LINE}[$elems-2]}, @{$this->{CURRENT_LINE}[$elems-1]} ); } sub OnButton { my( $this, $event ) = @_; my $dc = Wx::ClientDC->new( $this ); $this->PrepareDC( $dc ); my $pos = $event->GetLogicalPosition( $dc ); my( $x, $y ) = ( $pos->x, $pos->y ); if( $event->LeftUp ) { push @{$this->{CURRENT_LINE}}, [ $x, $y ]; push @{$this->{LINES}}, $this->{CURRENT_LINE}; $this->ReleaseMouse(); } else { $this->{CURRENT_LINE} = [ [ $x, $y ] ]; $this->CaptureMouse(); } $dc->SetPen( Wx::Pen->new( wxRED, 5, 0 ) ); $dc->DrawLine( $x, $y, $x, $y ); } 1; kephra-0.4.3.32+dfsg.orig/doc/patches/outline_parser.pl0000644000175000017500000000534211573645310021712 0ustar rizlarizla#!/usr/bin/perl use strict; use warnings; use PPI; use PPI::Dumper; my $file = shift @ARGV; my $doc = PPI::Document->new($file) or die "Could not open file: $!"; parse_package($doc); print " O\n"; sub parse_package { # find out the package name, if none, assume main. my $tree = shift; my $packages = $tree->find_first('PPI::Statement::Package'); if ($packages) { my $words = $packages->find('PPI::Token::Word'); print "[P] " . $$words[1] . "\n"; parse_includes($tree); print " |\n"; parse_subs($tree); print " |\n"; parse_shedules($tree); #parse_shedules()... } else { print "[P] main:\n"; parse_includes($tree); print " |\n"; parse_subs($tree); print " |\n"; parse_shedules($tree); # ... continue parsing. } } sub parse_includes { # parse use/require statements. my $tree = shift; my $includes = $tree->find('PPI::Statement::Include') or return; foreach my $include (@$includes) { #my $name = ${ $include->find('PPI::Token::Word') }[1]; print " `- [I] $include\n"; } } sub parse_subs { # parse subroutines. my $tree = shift; my $subs = $tree->find('PPI::Statement::Sub') or return; foreach my $sub (@$subs) { next if $sub->isa('PPI::Statement::Scheduled'); my $subroutine_name = ${ $sub->find('PPI::Token::Word') }[1]; my $subroutine_prototype = $sub->find_first('PPI::Token::Prototype'); my $comment = parse_comment($sub); print " `- [S] $subroutine_name $subroutine_prototype\t$comment\n"; parse_variables($sub); } } sub parse_shedules { # parse BEGIN/END/INITCHECK blocks etc. my $tree = shift; my $subs = $tree->find('PPI::Statement::Scheduled') or return; foreach my $sub (@$subs) { my $blockname = $sub->find_first('PPI::Token::Word'); print " `- [B] $blockname\n"; parse_variables($sub); } } sub parse_variables { # parse variables from any subset of the tree. my $tree = shift; my $declarations = $tree->find('PPI::Statement::Variable') or return; foreach my $declaration ( @{$declarations} ) { my $type_of_declaration = $declaration->find_first('PPI::Token::Word'); my $variable_name = $declaration->find_first('PPI::Token::Symbol'); print " | `- [D] $type_of_declaration $variable_name\n"; } } sub parse_comment { # prints the first comment in some subset of the tree. my $tree = shift; my $comment = $tree->find_first('PPI::Token::Comment') or return ""; return $comment->content(); } kephra-0.4.3.32+dfsg.orig/doc/patches/current-fixes.txt0000644000175000017500000000257611573645310021667 0ustar rizlarizlaBecause measuring text is slow, Scintilla avoids doing this as much as possible. If you want to find the width of the widest line, ensure the document is all styled (SCI_COLOURISE) then call SCI_POINTXFROMPOSITION on the last position of each line. --- use Encode; sub AppendText { my ($self, $text) = @_; my $string = decode("utf8", $text); $self->SUPER::AppendText($string); } my $string = utf8::is_utf8($text) ? $text : decode('utf8', $text); --- my @methods = reverse sort $text =~ m{^sub\s+(\w+)}gm; --- #!/usr/bin/perl -w use strict; use utf8; use CGI; use Encode qw(decode_utf8); binmode STDOUT, ':encoding(UTF-8)'; binmode STDIN, ':encoding(UTF-8)'; my $q = CGI->new; $q->charset('UTF-8'); print $q->header(); --- print ""; use PerlIO::encoding; binmode($FH, ":encoding(cp1252)") ":encoding(iso- 8859-1) print decode_utf8($q->param('name')) --- $self->SetAcceleratorTable ( Wx::AcceleratorTable->new ( [ wxACCEL_ALT, 'P', $ID_ACCEL_SEARCH ], ... ) ); EVT_MENU( $self, $ID_ACCEL_SEARCH, sub { $self->_controls->set_focus_text } ); --- Wx::AcceleratorEntry( wxACCEL_ALT || wxACCEL_SHIFT || wxACCEL_CTRL || wxACCEL_NORMAL, 'D' || WXK_NUMPAD1, # ASCII must be UPPERCASE. see %Keycodes% 66666, # EVT_MENU( $frame, 66666, \&DoSomething ); ); kephra-0.4.3.32+dfsg.orig/doc/Bugs0000644000175000017500000000004311573645310015507 0ustar rizlarizla ! textchanged event triggers twicekephra-0.4.3.32+dfsg.orig/doc/StableReleases0000644000175000017500000001403611573645310017514 0ustar rizlarizlarelease notes of all Kephra stable versions 0.5 {0.4.3} * new document property: encoding (8bit/utf-8) + utf works now * code folding support + 4 toggle functions: fold here, recursive, level, all + usable with mouse (fold margin) and keys ((|)[+]+<+>) + 2 styles for folding marker: boxes and arrows + optional flagline shows where text is folded * new tabbar + move tabs with mouse and keys + close icons on each tab + document menu in the right corner * marker added (F2+ or Searchbar or Left Click in Marker margin) + new tools + display @INC and %ENV + output selection in dec and hex + color picker, displays also selected color value + note selection on shift+f4 + changeable interpreter path-conf key: app > panel > output > interpreter_path + 3 new main window modes: fullscreen, max edit, transparent + improved stausbar, from a config file, with context help + save and restore textfold state in sessions and file history + convert HTML enteties + new help menu items open default browser with + online doc, native lang forum + bug tracker, feature wish tracker + file missing dialog + writes files also in missing dirs ~ end of line chars of new docs depends now on the running OS [ on splitters can now be clicked 0.4 * Searchbar * notepad panel extension * output panel extension for perl programs * new contextmenus: (on selected text, on searchbar, on tabbar, on statusbar) * customizable mainmenu, toolbars, contextmenus * File history menu * 10 doc spanning bookmarks * 8 new lexer: avennue BAAN .bat diff errorlist makefile matlab property * german with umlauts * files directories and can now be dragged into editpanel + new file with a template menu + open all files from a dir + rename files through file menu + load and store a backup file session + delete back tab, + deletes now to next indention level + brace navigation with + + goto last edit (++) + search dialog now quicker, less flicker and with drag n drop in + customizable title bar + optional new and close icon in tabbar + rectangular selection with keyboard (+) + number of selected lines are displayed in statusbar + blockformat ++, menu edit > format + line wrap under menu edit > format + firstname: new document property holds filname without ending + can use [$$firstname] as template variable too + reload templates on save + move document line and page wise from searchbar input + tabbar tabs numbering optional config key: app > tabbar > number_tabs + tabbar filename ending optional: app > tabbar > file_info = [first]name + autonotify (conf key file > open > auto_notify ) + autosave (conf key file > save > auto_save ) + Perl 5.10 keywords in the perl lexer + doc navigation from searchbar (hold ) ~ changed statusbar onclick behaviour ~ better goto line dialog ~ format and convert function much faster ~ block navigation now on +| ~ document switch back now on + ~ much less flicker in toolbar and tabbar ~ menu und toolbar items can now disable, be checked by internal events [ checkable and disable menu items [ shown pathes now OS compatibel ] runs with newest Wx and newest Perl ] added and removed dependencies 0.3 ? full stable release, more comfort * autoindent * bracelight and bracebadlight + braceindent and bracededent + leftclick on statusbar for changing settings shortcuts + leftclick on rightmost statusbarfield for getting infos about file + show unsaved and readonly status in tabs + show number of selected chars / cursor pos in % + optional warning dialog while overwriting files + replace line [ new fresher icons, several new for coming new functions [ 2 more functions in the toolbar [ more responsive cursor position display [ linenumbermargin has always enough width [ quit dialog now shows numbers and "unsaved files" [ faster splashscreen ] remember directory of session file ! php lexer fixed ! over 35 bugfixes 0.2 * multiple document handling with properies for each doc start cursorpos, syntaxstyle, EOL Mode, Tab usage * find and replace dialog + autosaves now all properties and configs and autoreload on next start + backup autosave file and restore ist in emergency case + visual feature: switch back if you click on current + file option: start with an empty file, open each file once, open text files only ' help text: this version texts + ask now for unsaved files to save on quit + view option: intention guides, caret line highlighting + autodetect EOL Mode, write protection + direct doc selection with Alt+Number + win XP look + customizable Syntaxstyle, select them and autoselect + german localisation + much faster reading of large files file menu: insert file, edit menu: format functions, convert functions document menu: eol mode, styles, spaces, write protection Statusbar: cursorpos, eol, spaces, style save and load external configs, handling close window event config: many new styles, contextmenu, color and caret settings file menu: reopen, save copy as, edit menu: Replace, Undo History, brace comment, Selection Move, line move indent unindent, script comment uncomment, search menu: find, find next, find previous, find selection, 3Bookmarks goto line number, view menu: hard tabs, whitespace, 4Margins, Line Wrap, font dialog, View EOL config menu: open, load and save config on the fly, default config file save before exit, Keyboard Map, Licenses C-style, CSS Style, HTML-Style, select and autoselect Syntaxstyle remember file, asks for filename if you save new file, better Perl-style 0.1: starter exe, english Menu, file menu: new file, open, save file, save as edit menu: undo, redo, cut, copy, paste, clear, select all view menu: linenumbermargin, long line indikator, colored gutter, first syntaxstyle(perl), filename in tab and the titlekephra-0.4.3.32+dfsg.orig/README0000644000175000017500000001177311573645310015013 0ustar rizlarizlaNAME kephra - crossplatform, GUI-Texteditor designed along Perl's Paradigms SYNOPSIS > kephra [] # start with certain files open DESCRIPTION This module install's a complete editor application with all its configs and documentation for your programming, web and text authoring. Philosophy Main Goals A visually harmonic and beautiful, sparing and elegantly programed Editor, that helpes you with all your daily tasks. It should be also able to operate in the way you prefer and be not afraid to try new things. In Depth I know, I know, there are plenty text editors out there, even some really mighty IDE, but still no perfect solution for many programmers. So lets learn from Perl 5 and 6 what it takes to build a tool thats powerful and fun to play with for hours and months. * make a low entry barrier (usable like notepad) * copy what people like and are used to and whats not inherently broken * give choices (TimTowtdi) * (e.g. deliver vi and emacs input style) * usable with menu, contextmenu, bars, mouse combo, key combos, commands ... * configure via dialog and yaml/conf files ... * highly configurable / adaptable to personal preferences * beauty / good integration on GUI, code and config level * solve things with minimal effort (no bloat / minimal dependencies) * still everything extendable by easy to write plugins I believe strongly that there is much more possible with GUI editors and text editors in general than we are used today. So I try to weave fresh ideas wherever I can and design Kephra in a way, that every programmer can alter and extend it easily. That can speed up progress or at least makes Kephra more comfortable for you. That is the plan, but we are currently not nearly that far. Features Beside all the basic stuff that would you expect from a notepad, we have file sessions, simple templates, recent closed files, and file functions applied to all files, where it makes sense. We have also a pile of advanced text navigation (on braces or blockwise), goto last edit or 10 doc spanning Bookmarks as well as find in files. Advanced undo, line editing (edit functions that take the current line as input), move selected text by mouse or keyboard. Formating funtions like blockformat, align blocks, indenting, commenting ... Documents have several properties like syntax styling, auto indention, tab width, tab use, write protection. View options contain switches for any GUI element and marker for: current line, end of line bytes, right margin, indetion guides, bracehiglighting, line wrap and font. Every menu and toolbar is evaluated from a simple yaml file, so you can change it easily by opening this files from the config menu. ROADMAP Overview Stable Release 0.4 This release was about getting the editor liquid or highly configurable. Its also about improvements in the user interface and of course the little things we missed. It also contains interpreter output panel and a notepad. Stable Release 0.5 This release is about getting Kephra into the world out there and adding feature that are most needed and removing most hindering barriers. Stable Release 0.6 This release will be about extending Kephra internal extentions and Plugins. This Cycle Testing 0.4.1 - code folding Testing 0.4.2 - folding and GUI refined, movable tabs, 2 more tools, doc data Testing 0.4.3 - utf, marker, folding finished, 3 more tools, help links Testing 0.4.4 - new mouse control, 2 more tools, docs updated Testing 0.4.5 - more encodings, config dialog Stable 0.5 - about dialog Future command line vor vi like usage tree lib extention: snippet lib and toolbox in one file browser Plugin API Coding support like L, outlining, help integration, debugger autocompletition and so on will be long time goals. Lets see where they fit in. SUPPORT OS: Linux, Mac and Win32 (Basically same es the module named Wx.) Perl: >= 5.6 (we use our :) ) AUTHORS * Herbert Breunung (main author) * Jens Neuwerk (author of icons, GUI advisor) * Andreas Kaschner (linux and mac ports) * Adam Kennedy (cpanification) * Renee Bäcker Emodule@renee-baecker.deE (color picker) * many more since we study other editors a lot and also the padre sources COPYRIGHT This Copyright applies only to the "Kephra" Perl software distribution, not the icons bundled within. Copyright 2004 - 2010 Herbert Breunung. All rights reserved. This program is free software, licensed under the GNU GPL as you can see in the LICENSE file in same directory or under http://www.gnu.org/licenses/. kephra-0.4.3.32+dfsg.orig/t/0000755000175000017500000000000011633700043014355 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/t/10_new.t0000644000175000017500000000123411574310053015635 0ustar rizlarizla#!/usr/bin/perl -w # # Construct a Kephra object, but don't start it # use strict; use warnings; BEGIN { $| = 1; unshift @INC, './lib', '../lib'; } use Test::NoWarnings; use Test::More tests => 1; #use Test::Exception; #use Kephra::App; #use Kephra::Config; # #File::Spec->catdir($basedir, 'config'); #$Kephra::temp{path}{config} = './share/config'; #$Kephra::temp{path}{help} = './share/help'; # #$Kephra::STANDALONE = 'dev'; # #unlink 'share/config/global/autosaved.conf'; #unlink 'share/config/global/autosaved.conf~'; # # Create the new Kephra object #my $kephra = Kephra::App->new; #isa_ok( $kephra, 'Kephra::App' ); exit(0); kephra-0.4.3.32+dfsg.orig/t/02_config.t0000644000175000017500000000704711573645310016330 0ustar rizlarizla#!/usr/bin/perl -w # # Test various miscellaneous configurationh functions # BEGIN { $| = 1; push @INC, 'lib'; } use strict; use warnings; use lib 'lib'; use Test::More tests => 17; use Test::NoWarnings; use Test::Exception; #my $tests; # #plan tests => $tests + 1; #use Data::Dumper qw(Dumper); use Wx; use Kephra::Config; # # ##################################################################### # Kephra::Config::color # sub is_color { my ($it, $r, $g, $b, $name) = @_; isa_ok( $it, 'Wx::Colour' ); is( $it->Red, $r, "$name: ->Red ok" ); is( $it->Green, $g, "$name: ->Green ok" ); is( $it->Blue, $b, "$name: ->Blue ok" ); } # SCOPE: { my $black1 = Kephra::Config::color('000000'); my $white1 = Kephra::Config::color('FFFFFF'); my $black2 = Kephra::Config::color('0,0,0'); my $white2 = Kephra::Config::color('255,255,255'); is_color( $black1, 0, 0, 0, 'hex black' ); is_color( $black2, 0, 0, 0, 'dec black' ); is_color( $white1, 255, 255, 255, 'hex white' ); is_color( $white2, 255, 255, 255, 'dec white' ); # # Check errors #eval { #Kephra::Config::color(); #}; #like( $@, qr/Color string is not defined/, 'Caught undef error' ); #eval { #Kephra::Config::color('black'); #}; #like( $@, qr/Unknown color string/, 'Caught bad-string error' ); #BEGIN { $tests += 4*4 + 2; } } ##################################################################### # Kephra::Config::icon_bitmap # sub is_icon { my $it = shift; isa_ok( $it, 'Wx::Bitmap' ); } # #SCOPE: { # Set the default icon path for testing purposes #local $Kephra::config{app}->{iconset_path} = 'share/config/interface/icon/set/jenne'; # # edit_delete find_previous find_next goto_last_edit find_start # #my @known_good = qw{ #}; #foreach my $name ( @known_good ) { # Create using the raw name #my $icon1 = Kephra::Config::icon_bitmap( $name ); #is_icon( $icon1 ); # # Create using the .xpm name #my $icon2 = Kephra::Config::icon_bitmap( $name . '.xpm' ); #is_icon( $icon2 ); #} #} # ##################################################################### # Kephra::Config::File # #{ #require_ok('Kephra::Config::File'); #my $ref = Kephra::Config::File::load_node('share/config/interface/commands.conf', 'commandlist'); #is( ref($ref), 'HASH', 'commandlist is HASH' ); #BEGIN { $tests += 2; } #} # #TODO: { #local $TODO = 'throw exception if file type is incorrect'; #foreach my $file (qw(mainmenuyml ymainmenuyml)) { #throws_ok { Kephra::Config::File::_get_type($file) } 'Kephra::Exception', "invalid extension exception $file" ; #} #BEGIN { $tests += 2; } #} #{ #is( Kephra::Config::File::_get_type('/home/foo/.kephra/config/interface/mainmenu.yml'), 'yaml', 'type is yaml' ); #is( Kephra::Config::File::_get_type('share/config/interface/mainmenu.yml'), 'yaml', 'type is yaml' ); #BEGIN { $tests += 2; } #} # #{ #my $file_name = 'share/config/interface/mainmenu.yml'; #is( Kephra::Config::File::_get_type($file_name), 'yaml', 'type is yaml' ); #my $ref = Kephra::Config::File::load_node($file_name, 'full_menubar'); #is( ref($ref), 'ARRAY', 'full_menubar is ARRAY' ); #$Kephra::temp{path}{config} = 'share/config'; #my $menubar_def = Kephra::Config::File::load_from_node_data ( { #'responsive' => 1, #'file' => 'interface/mainmenu.yml', #'node' => 'full_menubar' #} ); #is( ref($menubar_def), 'ARRAY', 'full_menubar is ARRAY' ); #BEGIN { $tests += 3; } #} exit(0); kephra-0.4.3.32+dfsg.orig/t/01_compile.t0000644000175000017500000000247711573645310016514 0ustar rizlarizla#!/usr/bin/perl -w # # Compile Testing for Kephra: # looking if all expected Modules are there and do compile # BEGIN { chdir '..' if -d '../t'; $| = 1; #unshift @INC, './lib', '../lib'; } use strict; use warnings; use lib 'lib'; #use blib; use Test::More; use Test::Script; use Test::NoWarnings; use File::Find qw(find); my @required_modules = qw( Cwd File::Find File::Spec::Functions Config::General YAML::Tiny Wx Wx::Perl::ProcessStream ); my $modules = 68; my @kephra_modules; find( sub { return if not -f $_ or $_ !~ /\.pm$/; my $module = $File::Find::name; $module =~ s{lib/}{}; $module =~ s{\.pm}{}; $module =~ s{/}{::}g; return if $module eq 'Kephra::Edit::Search::InputTarget'; push @kephra_modules, $module; }, 'lib'); # print "@modules"; #use Data::Dumper; # diag Dumper \@modules; my $tests = 4 + @required_modules + @kephra_modules; plan tests => $tests; ok( $] >= 5.006, 'Your perl is new enough' ); require_ok($_) for @required_modules, @kephra_modules; cmp_ok( scalar(@kephra_modules), '==', $modules, "$modules Kephra modules found" ); use_ok('Kephra', 'main module compiles'); TODO:{ # check the starter local $TODO = '"todo header"'; # tells what to do #script_compiles_ok('bin/kephra','starter compiles'); } exit(0); kephra-0.4.3.32+dfsg.orig/t/04_config_data_tree.t0000644000175000017500000000236111573645310020334 0ustar rizlarizla#!/usr/bin/perl -w # # testing public methods of Kephra::Config::Tree # BEGIN { chdir '..' if -d '../t'; $| = 1; } use strict; use warnings; use lib 'lib'; use Test::More tests => 7; use Test::NoWarnings; use Kephra::Config::Tree; my $simple = {'a'=>{ 'very' => {'deep' => 'hash'}}}; my $sub = Kephra::Config::Tree::subtree($simple, 'a/very'); is_deeply( $sub, {'deep' => 'hash'}, 'subtree' ); is_deeply( Kephra::Config::Tree::copy($simple), $simple, 'copy' ); my $more = {'a'=>{ 'second' => {'very' => {'deeep' => 'hash'}}}}; my $merge = Kephra::Config::Tree::merge($simple, $more); is_deeply( { 'a'=>{ 'very' => {'deep' => 'hash'}, 'second' => {'very' => {'deeep' => 'hash'}}, },}, $merge, 'merge'); my $simpelmo = {'a'=>{ 'very' => {'deep' => 'trick', 'far' => 'out'}}}; my $update = Kephra::Config::Tree::update($simple, $simpelmo); is_deeply( {'a'=>{'very' => {'deep' => 'trick'}}}, $update, 'update'); my $diff1 = Kephra::Config::Tree::diff($simple, $simpelmo); my $moremo = {'a'=>{'very' => {'deep' => {second => 'trick'}, 'far' => 'out'}}}; my $diff2 = Kephra::Config::Tree::diff($moremo, $simpelmo); is_deeply( $diff1, $simple, 'simple diff'); is_deeply( $diff2, {'a'=>{'very' => {'deep' => {second => 'trick'}}}}, 'complex diff'); exit(0);kephra-0.4.3.32+dfsg.orig/t/03_config_default.t0000644000175000017500000000230411573645310020024 0ustar rizlarizla#!/usr/bin/perl -w # # # use strict; use warnings; use Test::More tests => 1; use Test::NoWarnings; #my $tests; # #my @files; #my @default_subs; # BEGIN { #if (opendir my $dh, "lib/Kephra/Config/Default/") { #@files = grep {$_ ne '.' and $_ ne '..'} readdir $dh; #} # #@default_subs = qw( #global_settings #commandlist #localisation #mainmenu #contextmenus #toolbars #); } # # TODO: Kephra::Config::Default::drop_xp_style_file # #plan tests => 1 + $tests; # #BEGIN { $tests += 3 * @files; } #foreach my $file (@files) { #my $module = "Kephra::Config::Default::" . substr $file, 0, -3; #require_ok($module); #can_ok($module, 'get'); #my $r = $module->get(); # #my $expected_ref = $file eq 'MainMenu.pm' ? 'ARRAY' : 'HASH'; #is ref($r), $expected_ref, "$file gets a $expected_ref ref"; #} # # #BEGIN { $tests += 1; } #{ #require_ok('Kephra::Config::Default'); #} # #BEGIN { $tests += @default_subs; } #foreach my $sub (@default_subs) { #my $r = Kephra::Config::Default->$sub; #my $expected_ref = $sub eq 'mainmenu' ? 'ARRAY' : 'HASH'; #is ref($r), $expected_ref, "$sub gets a $expected_ref ref"; #} exit(0);kephra-0.4.3.32+dfsg.orig/share/0000755000175000017500000000000011633700043015214 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/0000755000175000017500000000000011633700043016144 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/cesky/0000755000175000017500000000000011633700043017262 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/cesky/tahle_verse.txt0000644000175000017500000000000011573645310022322 0ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/cesky/navigace.txt0000644000175000017500000000000011573645310021576 0ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/cesky/vitejte.txt0000644000175000017500000000274411573645310021514 0ustar rizlarizla --------- | Vtejte | --------- Alle beteiligten Entwickler sind begeistert da Du diesen Editor probierst oder benutzt. Hab Freude damit und besuch auch unsere Internetseite fr Neuigkeiten, Hilfe und Updates zu bekommen: http://proton-ce.sourceforge.net Anregungen und Kritik sind immer erwnscht. Wenn du dir sicher bist das deine Vorschlge nicht bereits in der neusten Version umgesetzt wurden oder wir nicht bereits nliches planen(siehe roadmap), schreib eine Mail an: proton-ce-tester@lists.sourceforge.net Wir sind natrlich noch lange nicht am Ziel, eher noch ziemlich am Anfang also freu dich, dass du bei der Enstehung von was schnem dabei bist. Falls du mitmachen willst, Hilfe ist uns immer wilkommen. Unser Ziel ist es einen Editor zu machen der reich an Funktionen ist, damit er schwere Arbeiten so weit es geht erleichtern kann. Er soll dabei soweit wie mglich einstellbar und erweiterbar sein damit er wie ein Handschuh zu zu dir und deinen Aufgaben passt und fr dich einfach bedienbar ist. Er sollte deine Kreativitt untersttzt, nicht ablenken. Auch wenn es ein Universaleditor wird, liegt unser Hauptanwendungsgebiet im Bereich Perl und HTML. Dk P.S. Dieser Text ist schreibgeschtzt, was vom Entwickler als Feature angesehen wird. kephra-0.4.3.32+dfsg.orig/share/help/english/0000755000175000017500000000000011633700043017575 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/english/this_version.txt0000644000175000017500000001312011573645307023065 0ustar rizlarizla -------------------- | Kephra Version 0.5 | -------------------- 1. Preliminary notes 2. News summary 2. News in detail 4. Known bugs and issues 5. Hints 6. Plans 1. Preliminary note - Welcome to Kephra. This text editor is made to fullfill your individual wishes. If you have any comments, suggestions ans thanks, please use the links to our website in the help menu. There you find also a longer welcome text. - This is a so called stable version for the daily use. It contains only well tested features and bugs will be fixed as soon as possible with the next patch level, which will add no new features. If you like to help us and/or use always the freshest features, please consider to use test versions, which have a three digit version number. Four digits mark developer versions, in case you really believe in: "no risk no fun". 2. News summary * read and write Unicode files * code folding * new mouse click combos + moveable tabs + marker + 8 new tools + 3 new main window modes + definable status bar + links to help web pages * installation over CPAN for Linux, Win und Mac + ... and lots more 3. News in detail - Unicode + UTF-8 files will be recognized when opening and also saved as such. + The fourth pane of the statusbar shows if current coding is utf or ascii. + Coding of empty files can be changed with the Document > Encoding menu, it may (yet) not work otherwise. - New Mouse Controls Following settings can all be changed or made disable at once. + Left click on the selection does copy it. + Middle click inserts selection. + Middle click on the selection searches for next instance of that string. + In any other case Middle click moves cursor to the position of last edit. + Middle click while holding left pastes from clipboard. + Right click while holding left does cut and selection to clipboard. - Code Folding + Between the line numbers and the text area a new margin appeared, that marks with symbols the beginnings of all code chunks that can be folded. + Left click or +<+> folds or defolds (toggles) the current node. + Middle click or ++<+> toggles current node with all children. + Right click or +<+> toggles all nodes of that level. All nodes without parent are on level one, its direct children are level two and so forth. + Right click while holding left or ++<+> toggles all nodes. + A document, reopened from file history has the folding state as when closed. - Marker Green arrows on the left of the line numbers mark important text spots. + They can be toggled with a left click on marker margin or +. + or + navigate forth and back between marker of a doc. + When adding +, Marker in all Docs can be navigated. + Same you achieve with the green arrows at the search bar. + A submenu with all marker functions is inside the search menu. + Also bookmarks can now be toggled with a middle click on the marker margin. - Richer Interface + The main window has 3 new modes, all closed by the key. + - fullscreen, win consumes the whole screen and has no more border. + + - Max Editpanel, all app bars are toggled. + + - toggles transparency of the main win. + + - no other win can stay on top of Kephra. + Tabbar (++) and menu bar (++) can be toggled. + Tabs in Tabbar are now also movable with mouse. + The rightmost symbol of the tabbar opens a menu to select the current doc. + In the left margin can now be opened a new context menu. + The status bar can now be defined by a YAML file as other toolbars too. Open that file with the menu item Config > User Interface > Toolbar. + Is a opened file deleted elsewhere, a new dialog tells you that and offers several options to deal with that. + Several icons are redesigned by Jens Neuwerk. - More Tools + + copies selection into the notepad. + A new dialog displays selected color values and writes the selected color in HTML hex format into the document. + Content of @INC and %ENV can be written into output panel. + Output panel can show selection, converted into decimal or hexadecimal numbers. + Is caret inside a quoted string, copy that with ++. + ++ inserts the Perl varibale last used in this block. + inserting current time and date + NonASCII character can be converted to HTML-Entities and back. - More Help + All documentation is updated or rewritten. + A new item in the help menu opens the online documentation in the browser. + The next item opens a help forum for Perl programmer. + And next 2 items open our online ticket system to report wishes or errors. - Installation jetzt auch ber CPAN-Shell fr Linux, Win und Mac 4. Known bugs and issues Please don't try to change file encoding of nonemty files. 5. Hints + Read the "Advanced - Tour" in the "Help" menu. Many of these useful functions can be overseen very easily. + Look into the Module Kephra::Config::Default::GlobalSettings, a commented version of the main configs. 6. Plans for next releases + Plugin API + tree extention for text snipptets and self defined tools + commandline extention for vi like usage + config dialogkephra-0.4.3.32+dfsg.orig/share/help/english/navigation.txt0000644000175000017500000000336711573645307022524 0ustar rizlarizla ------------------------- | Kephra Navigation Guide | ------------------------- Despite the editor is designed to be nonintrusive, every element of the user interface has its planned purpose and task. The usage will be easier if you know something about but please don't be bored because much of it is common knowledge. And if you want to change something just look into the menu "Config". Mainmenu: Is located topmost at the main window and gives you an overview about most available features. To be be able to search features in context it is thematically structured with many submenus and subsubmenus and provides a quick overview about every feature with information about its keyboard shortcut, its representing icon and a short help text in the statusbar. ++ does toggle its visibility. Toolbar: Is located below the main menu and contains only the icons of the most used functions. That should enable fast work for people who prefer to work with the mouse. Tabbar: shows which files are currently open and if the file is unsaved (*), readonly (#) or an activ config file($). Tabs can be selected, moved and closed. ++ does toggle its visibility. Context menu: opens with a click of the right mouse button and provides most important functions that stay in connection with the place the menu is called. This menus are connected with the edit panel, selected text, left margin, search bar and most status panes. Status bar: Is located at the bottom line of the main window. It provides informations about the current status and feedback from your instructions. Some parts of it are interactive(left-click) and have their own context menu(right-click).kephra-0.4.3.32+dfsg.orig/share/help/english/special_feature.txt0000644000175000017500000001266511573645307023521 0ustar rizlarizla ----------------------------- | Special Features of Kephra | ----------------------------- Many standard functions, like opening a file or moving the blinking cursor (that's called caret), don't need any explanation, or Kephra wouldn't be a good editor. Nevertheless there are some functionalities that are very helpful, but are often overlooked. Maybe because you don't expect them, or they are not in the main menu. Thatswhy they are listed here, sorted by topic. - Text Navigation + ++ jumps to the position of last change text in the current document. + ++ makes a rectangular text selection. + brace navigation: + moves the cursor between braces. Up and down goes to the matching brace or to the next brace of the same kind. Left and right jumps to the previous or next brace of any kind. + block navigation: Holding , you can jump with and block wise. Blocks are junks of lines, separated by empty lines. - Text Editing + With [+]+ several changes are undone or redone. Add , and you move to the begin or endpoint of the edit history. + + puts the selected text into the clipboard and vice versa. + + pastes, a copy of the selected text or the current line under under the original. + move: ++ moves the selected text inside the document. If nothing is selected, the current line will be moved. + edit line wise: Add and most simple edit functions will be applied to the current line. But ++ and ++ do only apply to line. They delete the left or right part of the cursor. - Files In this menu is nearly everything self explaining. Even reload or close other (all but the visible) are easy to understand, from there positioning in the menu. But 2 items should be highlighted. + ++ saves current text under a different file name, but the document is still associated with the previous file name. + +++ does save the content and change the file name. - View Options + The tabbar has many possibilities of configuration. * 2 optional icons: one leftmost for a new document and one rightmost to close the current document. * Right-click calls a context menu with all filenames with the full path. * A click with the middle mouse button does the same, but that behavior can be changed. * A left-click on the highlighted tab switches back to the last used doc. + Searchbar is mostly self explaining. All search options are hidden behind a left click. And if the cursor is in the search input you can jump between all search findings with (forward) and + (backward). + jumps to the first and ++ to the last finding. And if you hold down, you move the text like inside the editor with the cursor keys, including and , which switches between the docs. + The status bar shows a lot of recent doc settings, which can be changed also via right click and a context menu. A left click switches this property on or off. Only exception ist the rightmost panel, which can show different infos about the current doc/file. + The editor panel has a lot of visual helpers to highlight the current line, spaces and tabs or a right margin. But more unusual are indention guides, vertical dotted lines, which can help to recognize indention depths. The distance between the indention guides equals the set tab size and they can highlight if they connect 2 highlighted braces. - Configurations + Main or general configs is the internal name for the apps settings. + The command list contains all commands a user can give the application. * In the first part, every name (ID) gets an internal function (). Change that only if you really know what you're doing. * The section gives to some ID a function that determines with a positive result, if its currently possible to call the command. * should fire, when the result of changes. * function return the command status, e.g. for toolbar switch button. * triggeres if the changes. * assigns to some calls a filename, containing a bitmap. * is the last and maybe most interesting section, because it sets the global key binding, that is also displayed (translated) in the main menu. Please use here lowercase and English key names only. + Menu definitions are just (sometimes nested) lists of commands, and thats why very readable. To comment a menu entry out, just append a "#". + Localization files contain all labels and short help texts for the commands, but also labels to all buttons and dialogs. You can translate the whole app by translating this file. + Syntax modes holding all the coloring definitions per programming language and its keywords. The parsing rules unfortunate. + Templates are often used chunks of text, that may contain special variables, that will replaced with current data. They are listed in the file menu.kephra-0.4.3.32+dfsg.orig/share/help/english/keymap.txt0000644000175000017500000003105111573645307021642 0ustar rizlarizla ---------------------------------- | Kephra Default Keyboard Bindings | ---------------------------------- Key Order : simpel keys, Shift+, Ctrl+, Ctrl+Shift+, Alt+, Alt+Shift+, Ctrl+Alt+, Ctrl+Alt+Shift+ F2 jump to next marker of this document F3 find next F5 run Perl program F11 toggle full screen mode F12 jump into notepad Ins switch between insert and overwrite mode Del delete selection Pos1 jump to line begin or first wordcharacter(push twice) End jump to line end PgUp move page up PgDown move page down Shift+F2 jump to previous marker of this document Shift+F3 find previous Shift+F11 toggle max edit panel mode Shift+F12 stop Perl program Shift+Back tabweise einrcken Shift+PageUp expand selection 1 page down Shift+PageDown expand selection 1 page up Ctrl+F2 toggle marker here Ctrl+F3 save selection as find item Ctrl+F5 toggle output panel Ctrl+F11 toggle stay on top mode Ctrl+F12 toggle notepad Ctrl+Space indent selection a space Ctrl+Back jump to last selected file Ctrl+Tab indent selection a tab Ctrl+Left jump one word left Ctrl+Right jump one word right Ctrl+Up scroll text 1 line up Ctrl+Down scroll text 1 line down Ctrl+Del delete all spaces on left Ctrl+Home goto text begin Ctrl+End goto text end Ctrl+PageUp select previous open document Ctrl+PageDown select next open document Ctrl+ + toggle fold here Ctrl+1..9 go to bookmark 1..9 Ctrl+A select all text of the document Ctrl+C copy selection Ctrl+D double selection/line Ctrl+F search bar Ctrl+G goto line Ctrl+I add stream comment () Ctrl+K block comment (# perl, ruby, python, php) Ctrl+L delete line Ctrl+N new file Ctrl+O open file Ctrl+Q close file Ctrl+R replace dialog Ctrl+S save file Ctrl+T switch stay on tope mode Ctrl+V insert from clipboard Ctrl+W replace (clipboard & selection) Ctrl+X cut selection Ctrl+Y toggle selection between word, line, block or nothing Ctrl+Z undo Ctrl+Shift+F2 delete all marker in this document Ctrl+Shift+F3 save selection as replace item Ctrl+Shift+F5 show selection as decimal in output panel Ctrl+Shift+Space dedent selection a space Ctrl+Shift+Tab dedent selection a tab Ctrl+Shift+Del delete line Ctrl+Shift+Back goto last opened document Ctrl+Shift+Left expand selection 1 word left Ctrl+Shift+Right expand selection 1 word right Ctrl+Shift+BildUp move tab right Ctrl+Shift+PageDown move tab left Ctrl+Shift+F5 show selection as hexadecimal in output panel Ctrl+Shift+ + toggle fold here recursive Ctrl+Shift+1..9 toggle bookmark 1..9 Ctrl+Shift+B block format on right margin Ctrl+Shift+C copy line Ctrl+Shift+D double line Ctrl+Shift+F search dialog Ctrl+Shift+G goto last edit Ctrl+Shift+I remove stream comment () Ctrl+Shift+J join lines Ctrl+Shift+L delete line left from cursor Ctrl+Shift+O reopen file Ctrl+Shift+P block uncomment (perl, php, python) Ctrl+Shift+Q close all other files Ctrl+Shift+R delete line right from cursor Ctrl+Shift+S file save as Ctrl+Shift+V insert last used Perl variable of this block Ctrl+Shift+W replace current line with clipboard Ctrl+Shift+X cut line Ctrl+Shift+Y toggle selection between contents of braces or quoting marks Ctrl+Shift+Z redo Alt+F2 jump to previous marker in all documents Alt+F3 replace and goto next findig Alt+F11 toggle transparency mode Alt+Left jump to previous brace Alt+Right jump to next brace Alt+Up jump to previous brace of same kind Alt+Down jump to next brace of same kind Alt+PgUp jumps to the begin of block or paragraph Alt+PgDown jumps to the next block or paragraph Alt+ + toggle fold level Alt+Q quit program Alt+Z fast undo Alt+Shift+F2 jump to next marker in all documents Alt+Shift+F3 replace and goto previous findig Alt+Shift+F5 show selection as hexadecimal in output panel Alt+Shift+ + toggle fold all Alt+Shift+I show Info dialog Alt+Shift+K show keyboard map Alt+Shift+O reopen file Alt+Shift+R replace all Alt+Shift+S save file copy under ... Alt+Shift+Z fast redo Ctrl+Alt+F3 goto first findig Ctrl+Alt+Up move selection up (or current row nothing selected) Ctrl+Alt+Down move selection or line down Ctrl+Alt+PgUp move selection or line page up Ctrl+Alt+PgDown move selection or line page down Ctrl+Alt+Left move selection left Ctrl+Alt+Right move selection right Ctrl+Alt+O reload all open files Ctrl+Alt+Q close all open files Ctrl+Alt+R replace all but ask every time Ctrl+Alt+M toggle menu bar Ctrl+Alt+S save all open files Ctrl+Alt+T toggle tab bar Ctrl+Alt+Z undo history begin Ctrl+Alt+Shift+F2 delete all marker Ctrl+Alt+Shift+F3 goto last finding Ctrl+Alt+Shift+R replace all without asking Ctrl+Alt+Shift+S rename file and document Ctrl+Alt+Shift+Z undo history end ================================================================================ Thematical Order: - File Operation - Text Navigation - Search and Replace - Select Operation - Edit Operation - Line Editing - Tools - Dialogs - File Operation Ctrl+N new file Ctrl+O open file Ctrl+Shift+O reopen file Ctrl+S save file Ctrl+Shift+S file save as Alt+Shift+S save file copy under ... Ctrl+Alt+Shift+S rename file and document Ctrl+Q close file Ctrl+Shift+Q close all other files Ctrl+Alt+Q close all open files - Text Navigation Pos1 jump to line begin or first wordcharacter(push twice) End jump to line end PgUp move page up PgDown move page down Ctrl+Left jump one word left Ctrl+Right jump one word right Ctrl+Home goto text begin Ctrl+End goto text end Ctrl+G goto line Ctrl+Shift+G goto last edit Ctrl+1..9 go to bookmark 1..9 Ctrl+Shift+1..9 toggle bookmark 1..9 Alt+Left jump to previous brace Alt+Right jump to next brace Alt+Up jump to previous brace of same kind Alt+Down jump to next brace of same kind Alt+PgUp jumps to the begin of block or paragraph Alt+PgDown jumps to the next block or paragraph - Text Folding Ctrl+ + toggle fold here Ctrl+Shift+ + toggle fold here recursive Alt+ + toggle fold level Alt+Shift+ + toggle fold all - Search and Replace Shift+F3 goto previous finding F3 goto next findig Ctrl+Alt+F3 goto first findig Ctrl+Alt+Shift+F3 goto last finding Ctrl+F3 save selection as find item Ctrl+Shift+F3 save selection as replace item Alt+Shift+F3 replace and goto previous findig Alt+F3 replace and goto next findig Ctrl+Alt+R replace all Ctrl+Alt+Shift+R replace all but ask each team - Marker and Bookmarks Shift+F2 jump to previous marker of this document F2 jump to next marker of this document Alt+F2 jump to previous marker in all documents Alt+Shift+F2 jump to next marker in all documents Ctrl+F2 toggle marker here Ctrl+Shift+F2 delete all marker in this document Ctrl+Alt+Shift+F2 delete all marker Ctrl+1..9 jump to this bookmark Ctrl+Shift+<1..9> toggle bookmark 1..9 on caret - Select Operation Shift+direction expand stream selection Shift+Alt+direction expand rectangular (column) selection Ctrl+Shift+Left expand selection 1 word left Ctrl+Shift+Right expand selection 1 word right Shift+PageUp expand selection 1 page down Shift+PageDown expand selection 1 page up Ctrl+A select all text of the document Ctrl+Y toggle selection between word, line, block or nothing Ctrl+Shift+Y toggle selection between contents of braces or quoting marks - Edit Operation Ctrl+Z undo Ctrl+Shift+Z redo Alt+Z fast undo Alt+Shift+Z fast redo Ctrl+Alt+Z undo history begin Ctrl+Alt+Shift+Z undo history end Del delete selection or right character Ctrl+Del delete right word Ctrl+D double selection or line Ctrl+V insert from clipboard Ctrl+W replace (clipboard & selection) Ctrl+X cut selection Ctrl+Shift+J join lines Ctrl+Alt+cursor key move selection or line - Line Editing Ctrl+Shift+Del delete line Ctrl+Shift+C copy line Ctrl+Shift+D double line Ctrl+Shift+L delete left part of line Ctrl+Shift+R delete right part of line Ctrl+Shift+W replace current line with clipboard Ctrl+Shift+X cut line Ctrl+Space indent line one character Ctrl+Shift+Space dedent line one character Ctrl+Tab indent line one tab Ctrl+Shift+Tab dedent line one tab - Tools F5 run Perl program, show result in output panel Shift+F5 stop Perl program Ctrl+F5 toggle output panel Ctrl+Shift+F5 show selection as decimal in output panel Alt+Shift+F5 show selection as hexadecimal in output panel F12 jump into notepad Shift+F12 add selection to notepad Ctrl+F12 toggle notepad - Dialogs Ctrl+F search bar Ctrl+Shift+F search dialog Ctrl+R replace dialog Ctrl+G goto line Alt+Shift+I show Info dialog - View F11 toggle full screen mode Shift+F11 toggle max edit panel mode Ctrl+F11 toggle stay on top mode Alt+F11 toggle transparency mode Ctrl+Alt+M toggle menu bar Ctrl+Alt+T toggle tab bar Ctrl+F4 toggle notepad Ctrl+F5 toggle output panelkephra-0.4.3.32+dfsg.orig/share/help/english/welcome.txt0000644000175000017500000000242011573645307022005 0ustar rizlarizla --------- | Welcome | --------- Any developer of our team is pleased to bring you this program. Please enjoy and visit our website for news, help or updates: http://kephra.sf.net In case you have questions or comments feel invited to send us them. But please be careful, your suggestions may already be fulfilled or part of our roadmap. kephra-tester@lists.sourceforge.net We are far away from our goal and standing nearly at the beginning so you can track the evolve of something beautiful, enjoy. And if you like to join us, your always welcome. It is our goal to create an editor with a rich featureset that ease all your work as much as it makes sense. It is designed to be crossplatform, very configurable and extensible that it can fit perfectly to you and your tasks. Knowing that this is nearly standart these days we also try to stay down to earth and build this program with wisdom and love, that it can become a real universal editor. But first will we serve ourselves and make it a good one for Perl and HTML. Thanks P.S. This file cannot be changed, this is considered by the developer as a feature. kephra-0.4.3.32+dfsg.orig/share/help/english/license/0000755000175000017500000000000011633700043021217 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/english/license/lgpl.txt0000644000175000017500000006445511573645307022752 0ustar rizlarizla GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! kephra-0.4.3.32+dfsg.orig/share/help/english/license/wx.txt0000644000175000017500000000475711573645307022451 0ustar rizlarizla wxWidgets Library Licence, Version 3 ==================================== Copyright (c) 1998 Julian Smart, Robert Roebling et al Everyone is permitted to copy and distribute verbatim copies of this licence document, but changing it is not allowed. WXWIDGETS LIBRARY LICENCE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public Licence for more details. You should have received a copy of the GNU Library General Public Licence along with this software, usually in a file named COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. EXCEPTION NOTICE 1. As a special exception, the copyright holders of this library give permission for additional uses of the text contained in this release of the library as licenced under the wxwidgets Library Licence, applying either version 3 of the Licence, or (at your option) any later version of the Licence as published by the copyright holders of version 3 of the Licence document. 2. The exception is that you may use, copy, link, modify and distribute under the user's own terms, binary object code versions of works based on the Library. 3. If you copy code from files distributed under the terms of the GNU General Public Licence or the GNU Library General Public Licence into a copy of this library, as this licence permits, the exception does not apply to the code that you add in this way. To avoid misleading anyone as to the status of such modified files, you must delete this exception notice from such code and/or adjust the licensing conditions notice accordingly. 4. If you write modifications of your own for this library, it is your choice whether to permit this exception to apply to your modifications. If you do not wish that, you must delete the exception notice from such code and/or adjust the licensing conditions notice accordingly. kephra-0.4.3.32+dfsg.orig/share/help/english/license/artistic.txt0000644000175000017500000001271511573645307023626 0ustar rizlarizlaThe "Artistic License" Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artisti control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. "Copyright Holder" is whoever is named in the copyright or copyrights for the package. "You" is you, if you're thinking about copying or distributing this Package. "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: 1. place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet. uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. 2. use the modified Package only within your corporation or organization. 3. rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. 4. make other distribution arrangements with the Copyright Holder 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: 1. distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. 2. accompany the distribution with the machine-readable source of the Package with your modifications. 3. accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. 4. make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End kephra-0.4.3.32+dfsg.orig/share/help/english/license/scintilla.txt0000644000175000017500000000161111573645307023757 0ustar rizlarizlaLicense for Scintilla and SciTE Copyright 1998-2002 by Neil Hodgson All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. kephra-0.4.3.32+dfsg.orig/share/help/english/license/gpl.txt0000644000175000017500000004361411573645307022570 0ustar rizlarizla GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. kephra-0.4.3.32+dfsg.orig/share/help/english/license/credits.txt0000644000175000017500000000264611573645307023443 0ustar rizlarizla --------- | Credits | --------- Kephra by (C) Herbert Breunung and other, uses all the things listed below and is licensed under GPL. (help/license/gpl.txt or www.fsf.org/licenses/gpl.txt) Icons (in /config/ico/jenne) are made by Jens Neuwerk (www.stockicons.org) starter-exe under Windows by Robin Haberkorn (Shai-Hulud) Perl (in /pre) by (C) Larry Wall and many others is licensed under the artistic license (help/license/artistic.txt or www.perl.com/language/misc/Artistic.html) and GPL (see above) WxPerl (in /pre/wx) by Mattia Barbon wrappes WxWidgets for Perl and is licensed under the same terms as Perl itself (artistic license) Wx::Perl::ProcessStream by Mark Dootson, artistic license WxWidgets by Julian Smart, Robert Roebling, Vadim Zeitlin and others is licensed under the wxWidgets license (help/license/wx.txt) wich is based upon LGPL (help/license/lgpl.txt or www.fsf.org/licenses/lgpl.txt) Portions (c) 1996 Artificial Intelligence Applications Institute Scintilla by (c) Neil Hodgson, see Neils license under (help/license/sci.txt) it is included in WxWidgets as an contribution called wxSTC Strawberry (this Distribution of Perl) by Adam Kennedy and others is licensed as Perl Config::General (in /pre/cpan/config) by (c) 2000-2010 Thomas Linden ... Perl YAML::Tiny Adam Kennedy, Perlkephra-0.4.3.32+dfsg.orig/share/help/english/all_feature.txt0000644000175000017500000005112011573645307022636 0ustar rizlarizla --------------------- | Kephra Feature List | --------------------- This is the best place to answer questions like : "Does Kephra...?" , "How to change...?" or "How do I...in Kephra?". Even if the main menu might do that in some cases faster. Even if the editor currently doesn't do everything we wish, he already has a big pile of features. If you're already familiar with text editors, you can skip a lot of the following and switch to the "Advanced Tour", also to be found in the help menu. But if you're interested in a complete and sorted (order as main menu) overview of all features, go on. The config keys refer to "config/general/autosaved.conf", the main config file. Content: 1 Navigation in text 2 Selecting text 3 Text editing (edit menu) 4 History of changes (edit menu) 5 Clipboard functions (edit menu) 6 Search menu and search dialog 7 Tools Menu 8 File menu 9 Document menu - Document settings 10 View menu 11 Config menu 11 Help menu 1 Navigation in text - move caret - direction keys move the textcursor(caret) through the text (as usual), and a left-click with the mouse can set the caret to this position. - moves the caret to the first non-whitespace character in the current row. Pressing again moves the caret to the first position. moves the caret to the end of the row. - + jumps to the first character of your text and + to the last. - The and keys move the caret page-wise up or down. Page means here the size of the visible part of the text. - + or let the editor turn to next or previous document. Next refers to the order that is shown in the tabbar. - + or an left-click an the current tab in tabbar turns to the last used document (switch back). - + let the caret jump to the start of the next or previous word. - + or scrolls the text line-wise up or down. - + or let the caret jump to the next or previous paragraph. Paragraphs are blocks of text, sparated by empty lines. - to jump directly to a specific row press + and enter the number - press ++<+> and +<-> to zoom your source/text 2 Selecting text - Holding or the left mouse button makes it possible to select text by moving the caret. The selected text will be marked. - To select a square of text (cols), hold down the key. This is also called rectangular selection. - To move a selected text with your mouse, hold down the left mouse button. It's also possible to move text with your arrow keys while you're holding +. In case there is no text marked, ++ or moves the current line. - When you hold down while you're moving text with your mouse, you instead make a copy of it. - + marks the whole text. 3 Text editing (edit menu) In most cases you do select a stripe of text, to make something with it and most text-modifying functions here expect that you selected some text before. In case you selected nothing the function will use the whole current document as input. If you add the -key to a hot key, its meaning will most likely reversed. - Any selected text will be deleted if you type ordinary character key. - The -Key toggles the caret form. An upright line let you insert text as you type(insert mode), a horizontal underline showes you that you currently overwriting the old text. - deletes the character on the right side of the caret. + erases the whole word. The key (<--) deletes the character on the left side of the caret, accordingly + deletes a word. - There are 3 groups of text editing functions and each has its own submenu in the "edit"-menu. Format stands for rearranging the text by inserting or removing spaces and linebreaks, but not changing the content. Comment means to insert or remove some character from the text to activate or deactivate the chosen content in the specific computer language. Convert filter can do change character and the content in a chosen way. - + indent the current line by inserting one space on leftmost position no matter where the caret is located. If there are several rows selected, the function will be applied to all rows, ++ provide a reverse funcion. - + (|<- ->|) does indenting in similar way, only with tabs. The size and type of these tabs depends on your settings. - Several more text editing functions can also accessed via menu like "Align Indention", "Join Lines", "Delete Trailing Spaces" and much more. 4 History of changes (edit menu) The editor does remember every change, so that you can always go backward and forward in the history of this text editing session. The only limit here is the memory of your computer. - + goes one step back and ++ one step forward. Please be aware of, that if you do change something in the "past" there will be no more steps forward. - When you have a long history it is sometimes handy to make several steps at once. + and ++ works this way. The number of overleaped steps can be set at the config key: "editpanel > history > fast_undo_steps". - It is also possible to sneak quickly where things started. ++ jumpes to the begin and +++ back to the latest state. 5 Clipboard functions (edit menu) Every newer desktop or operating system provides a clipboard to exchange text and other data between the Programs in a simple way. Most often you will use the clipboard to move some selected text inside the program . You will find all these following functions also in the upper part of the "edit" menu, many of them also in the middle part of the toolbar. - + ("Cut") deletes the selected text and put it into the clipboard. - + ("Copy") just copy the selected text into the clipboard. + does the same. - + ("Insert") insert the clipboard content into the current document at the location of the caret. also with +. - + ("Swap") swaps the selection with the clipboard. - ("Delete") just deletes selection. - Cut, copy and delete can also applied to the current line(row) by adding to the respective hotkey. (delete line = ++) - ++ or deletes in the current line all character left or right hand from the caret. - ++ doubles the current line, it inserts a copy of the current line below the current line. - You can also move text by DND (drag'n Drop) in the text and into other programs, if they supporting that. When you want to copy text this way, select it, hold the selection by left-clicking on it and holding the mouse button, hold the (than you see a box with a "+" within under the cursor) and release the mouse button when the caret is at the position where you want to copy the selection to. 6 Search menu and search dialog The editor can search after a given phrase in the current document, in all open docs or just only inside a selected text. This can be done with or without the search dialog, but search opptions can only set by the search dialog or via the config file but i think this is a bit messy. - + calls the search and replace dialog, waiting for you to type the search phrase, an existing selection inside the dialog will be as usual overwritten. With the und keys you can browse the history of search phrases. - If you selected some short text before you call the dialog, this selected text will be inserted as the search phrase, but the selection ranges over multiple lines, the editor will asume that you want to only search inside this selection. Please mind that once you found inside a selection a matching phrase, the match will be selected and you can't no longer search inside the previous selection. - After you typed in your search phrase you should press to jump between the findings of the search phrase in top down direction. If you hold while you press , the direction will be bottom up. If you hold while , the dialog will be closed befor searching. - To search "forward" and "backward" you can also use the mouse. Just click on the toolbar icons with the lens and the blue arrows to jump between finings of the search phrase. In the search dialog are more buttons on the right side for similar purposes like fast search, goto first or last findning and replace. - Below the radio box in the middle of the dialog, where you can select the search scope, is a chackbox called "Auto Wrap". If activ the "next" finding after the last on the bottom of the document is the first at top of the document and vici versa. - If the "Incremental Search" option is activ, the editor searches after the given phrase (starting his search at the top of the document) immediately, every time you type in a new character. - search options: + case sesitive: follow search phrase literally with upper and lowercases + the finding has to be the begin of a word + the finding has to be a complete word + understand simple regular expressions within the search phrase - It is also possible to search without the dialog. Just press + and the currently selected text will become the next search phrase. Now you can use to skip forward and + to skip backward between the matches to the search phrase. ++ jumpes to the first and +++ to the last match inside the selected scope. - When you call the search dialog with ++ it expect you to type in the replace phrase, in the search input line will be inserted the last used search phrase. In case you selected some text before calling the dialog, the behaviour of the replace input will be the same as search input and also the replase input line do remembers its history, so you can select previous phrases with the with the mouse or the 2 vertical arrow keys. - Pushing while active cursor is inside the replace input line will cause the same action as clicking on the "Replace All" button. All matches to the search phrase in the search scope will be replaced with the replace phrase. Holding while closes the dialog after replacing all. If you hold while you press , the same function as the "With Confirmation" button does will be called. It differs only from "Replace All" function in the fact that the editor ask for your permission before each single text replacement. - Another way to achieve the same is to use the search pad rightmost in the dialog. Here can you decide freely where to jump and what to replace by clicking the buttons I described above. - The dialog can be closed by push the -Key with the "Close" button, which is in the bottom right corner. -"Goto Line" or + calls a Dialog where you can type into the number of the line, you wish to jump to. 7 Tools Menu The notepad is a parallel panel, just for keeping a bit of unformatted text. - jumps into the notepad and back. + opens or closes it. inside the notepad does a Perl eval with the content. Results will be shown in the output panel. - runs the current document with a defined interpreter. This process can be stopped with +. The result will be displayed in the output panel. This can be opened and closed with +. 8 File menu Containes all the functionality that has access to your permanent storage (harddrive e.g.). The only exceptions are new and quit, but they belong here too i think. - "New" creates a new empty document which has no relation to any file. - "Open" reads a file which you select by dialog and display it in a new document. - "Reopen" reads an already open file and replaces the displayed content with newly read data from the hard drive. This way will be the last saved version restored. - "Insert" inserts the content of a selected file into the current visible file at the location of the caret (textcursor). - "Save" writes the content of the current visible document into that file from where it was opened. If it was a new file it asks for a filename. - "Save As" always asks for a filename which to write the current doc into. Further calls of the save function will write the doc into the new file. - "Save Copy" does the opposite. It also asks always for a new filename to write the current document into. But the document keeps related to the old file name. - "All/Other" Many of the functions in this menu has an equivalent which conain the words "All" or "Other". As expected "All" means this function will be applied to all open files and "Other" means that it will applied to all open files but not to the current file. - A "Session" is the sum of all current opened files. Such a session can be saved into a sassion file which containes the location and all properties of all open files so you can restore or add this session with this file. I want also that the edito is able to read (import) and write (export) session files from other editors but currently is only SciTE session file format supportet. 9 Document menu - Document settings do (mostly) change a property of the current document. The syntaxstyle und the tabmode can also be set by using the interactive statusbar. All document properties will be saved in the session file and will be restored be the next start of the program. - The syntaxstyle determinates the colouring of document and corresponds with the syntax of the particular language. Normally do the editor selecting the syntaxstyle automaticly according die ending of the file. Under the config key: file > endings is set which ending belongs to what language. The syntaxstyle can also be set manually by the Syntaxstyle submenu in the document menu or by the context menu in statusbar. (right click onto display of current style). If you want change the colouring of a style, look at the bottom of the config menu. - Bracelight highlights matching braces when you "touch" them with the caret. Braces without a matching counterpart will be coloured different to warn the programmer that there might be a problem. The colour and more can be set in the config key: editpanel > indicator > bracelight. Currently these options are global settings but will become part of new syntaxmode settings. - Blockindent means that every after an opening brace indents the next line more than the current and an after an closing brace dedents. The width depends on the current tab size. see config key: editpanel > blockindent. look also at the keys editpanel > brace_automake and editpanel > brace_autojoin that will automaticly make an matching brace or remove the autogenerated brace if it turnes out that you made one manually. - Autoindent inserts in any new line and indention that has same witdth as in the last line. Currently is it only a global behaviour. config key: editpanel > autcoindent. - Tabs are not visible character that will be displayed as a bunch of whitespaces. How many spaces equals one tab depends on your settings. And please note if even your settings say that this number is 4, a tab can also be displayed like 3,2 or one space because a tab reaches to a row position that is a multible of its maximus size. In new or opened files the editor set the value of the config key: "file > defaultsetting > tab_size" as the current tab size. - Soft Tabs means if you press the key (with |<-- -->| symbols on it), the editor will not create several whitespaces with the same width the tab would have instead. config key: file > defaultsetting > tab_use - EOL: Unix(Linux), Mac and Windows are using different characters to indicate the end of a line, but that no problem for the editor because the lines will be cut in any case properly. The editor also recognises which lineending is used by the document and if you edit the doc, proper endings will be inserted. When you want to change the lineendings of an document, use the EOL mode submenu or the context menu on the stausbar. You have to right-click onto the field that displayes the current lineending. The lineending of new documents will be set by the config key: " file > defaultsetting > EOL_new" the values of this key can be: "cr,lf or cr+lf". If the key: "file > defaultsetting > EOL_open" is set with one of these values the file will be converted while opening the file. The default is auto, that keeps the original ending. - Write Protection. When the user has no permission to acess a file,, the editor will automatically lock the document and make the lock visible with a "#"-character after the documents name. That should avoid later conflicts but you can still safe the doc under another name. Or you maybe want to use this feature to protect some mature text against your own inattention. 10 View menu Functions that do only visual changes to the text or the program are summarized here. All Settings here effect all documents equally. - "Stay On Top" you can toggle with + and it means that the main window will always displayed above all other windows. - "Toolbar"-"Statuscontext" This block of menu items switches (toggles) the visibility of the visual(GUI) elements of the program. The elements are sorted from top to the bottom of the applikation window. All menu items blow this block refer to the text area. - "Numbermargin" defines the width of the line number margin. Normally is the width always sufficient to display all line number, but in case you turned the autosize off(config key: editpanel > margin > linenumber > autosize), or want to switch the visibility of the line number margin you can use this submenu. Also color and default width can be changed in the config files. - "Textmargin": Width of the extra margin (in pixel) on the left and right side of the text area. here can you adjust the spacing between the pure text and the margins on the left side. - "Right Margin" Switches visibility of a vertical line that indicates how long the text lines should be at maximum. Color and position of this line can be set in the config at the key: editpanel > indicator > right_margin. - "Indention Guide" toggles vertical lines that do indicating how far to indent your source code. These lines appear above text indention (whitespace) at intervals of the current width of a tab. - "Caret Line", if activated, the current text line will be highlighting with a chosen background color. config key: editpanel > indicator > caret_line - "Line Wrap" means that text lines that don't fit into the current window size will displayed in several parts among each other. - "end Of Line" (EOL) makes the (otherwise invisible) control character that are marking the end of the line visible. They are 3 different types symbolized by 3 different indicators. - "Whitespace" sets whitespaces and tabs visible with dot and arrow symbols. the color of these symbols can be changed by config file. - "Font" calls an dialog, which allows you to change all properties of the displayed font. see also config key editpanel > font 11 Config menu: Shortcuts for opening all config files directly in the editor. Hint: Files with a leading $ in the tab will be applied immediately while saving them. 12 Help menu: Contains texts, links and dialogs with information about this programm and its usage.kephra-0.4.3.32+dfsg.orig/share/help/romana/0000755000175000017500000000000011633700043017421 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/romana/functiuni.txt0000644000175000017500000005043011573645310022200 0ustar rizlarizla ,--------------------. ! Kephra - Funcțiuni | `--------------------´ Acesta este locul cel mai bun în care puteți găsi răspuns la întrebări de genul: "Kephra face...:", "Cum să modific...?" sau "Cum să face în Kephra?". Chiar dacă meniul principal ar putea să facă aceasta mai rapid. Chiar dacă acesta editor de texte nu are implementate toate funcțiunile pe care le dorim, el incorporează deja o sumă importantă de funcțiuni. Dacă sunteți deja familiarizat cu editoarele de text, puteți sări direct la secțiunea "Tur Avansat", de asemenea din meniul ajutor. Dar dacă sunteți interesat de lista completă și ordonată a funcțiunilor (ordonate ca în meniul principal) atunci citiți mai departe. Cheile de configurare sunt cele din "config/general/autosaved.conf", fișierul principal de configurare. Conținut: 1 Navigare în text 2 Selectare text 3 Editare text (meniul editare) 4 Istoria modificărilor (meniul editare) 5 Funcții clipboard (meniul editare) 6 Meniu și dialog de căutare 7 Meniu unelte 8 Meniu Fișiere 9 Meniu document - setări document 10 Meniu vizualizare 11 Meniu configurare 11 Meniu ajutor 1 Navigare în text - mutarea cursorului - tastele cu săgeți mută cursorul în text (ca de obicei), iar un clic cu mouse-ul va repoziționa cursorul în punctul respectiv. - tasta mută cursorul pe primul caracter diferit de spațiu din linia curentă. Dacă tastăm încă o dată, cursorul va fi mutat pe prima coloană din linie. mută cursorul al sfârșitul liniei. - Combinația de taste + va muta cursorul pe primul caracter din text, iar + pe ultimul caracter. - Tastele și mută cursorul cu câte o pagină în sus respectiv în jos. Pagina find definită ca dimensiunea vizibilă a textului. - Combinația de taste + sau comută la următorul sau precedentul document. Ordinea este cea definită de file (Tabs în limba engleză). - + sau clic stânga pe fila curentă în bara de pagini comută la ultimul document utilizat (comută înapoi). - + salt al cursorului la începutul sau sfârșitul cuvântului următor sau al celui precedent. - + derulează textul linie cu linie în sus sau în jos. - + salt al cursorului la paragraful următor sau la cel precedent. Paragraful este un bloc de text, separat de linii goale. - Ca să sari la o anumită linie, tastează + și introdu numărul liniei. - Tastează +<+> și +<-> focalizează în text. 2 Selectare text - Ținând apăsată tasta sau butonul stâng al mouse-ului este posibil să selectăm text prin mutarea cursorului. Textul selectat va fi marcat. - Ca să selectați text în formă de pătrat (coloane), țineți apăsată tasta . Aceasta se mai numește și selecție rectangulară. - Ca să mutați textul selectat cu mouse-ul, țineți apăsat butonul stâng al mouse-ului. Este de asemenea posibil să mutați text cu ajutorul tastelor cu săgeți în timp ce țineți apăsat +. În cazul în care nu este text marcat ++ sau va muta linia curentă. - Dacă țineți apăsată tasta în timpul mutării textului cu mouse-ul, veți efectua în schimb o copie a lui. - + marchează tot textul. 3 Editare text (meniul editare) În cele mai multe cazuri veți selecta o fâșie de text, pentru a face ceva cu ea și cele mai multe funcții de modificare a textului de aici presupun că ați selectat un text în prealabil. În cazul în care nu ați selectat nimic, funcțiile for folosii întregul document curent ca intrare. Dacă apăsați suplimentar împreună cu o combinație de taste și tasta , funcția va fi probabil inversată. - Orice text selectat va fi șters la tastarea oricărui caracter. - Tasta comută forma cursorului. O bară verticală permite inserarea textului (mod inserare), o bară orizontală de subliniere indică modul de suprascriere a textului existent. - șterge caracterul de la stânga cursorului. + șterge cuvântul întreg. Tasta (<--) șterge un caracter din partea stângă a cursorului, în mod corespunzător, + șterge un cuvânt. - Sunt 3 grupe de funcții de editare a textului și fiecare are propriul submeniu în meniul "Editare". Formatarea înseamnă rearanjarea textului prin inserarea sau ștergerea spațiilor și caracterelor linie nouă, dar fără schimbarea conținutului. Comentarea înseamnă inserarea în text sau ștergerea din text a unui caracter pentru a activa sau dezactiva conținutul ales în limbajul de programare specific. Filtrul de conversie poate face înlocuiri de caractere și conținut într-un anumit mod. - + indentează linia curentă prin inserarea unui spațiu în poziția cea mai din stânga indiferent unde este poziționat cursorul. Dacă sunt mai multe rânduri selectate, funcția va fi aplicată la toate rândurile, ++ vor aplica funcția inversată. - + (|<- ->|) face indentare în mod similar, dar cu caractere tab. Dimensiunile și tipul acestor taburi depind de setări. Multe alte astfel ce funcții de editare a textului pot fi accesate cu ajutorul meniului, ca de exemplu "Unește liniile", "Șterge spațiile de la sfârșitul liniilor" și altele asemenea. 4 Istoria modificărilor (meniul editare) Editorul reține fiecare modificare, așa încât se poate merge înapoi sau înainte în istoria sesiunii de editare a textului. Singura limită aici este memoria calculatorului. - + merge un pas înapoi și ++ un pas înainte. Rog să fiți conștienți că dacă modificați ceva din "trecut", nu vor mai fi exista pași înainte. - Când aveți o istorie lungă a modificărilor este câteodată util să săriți câțiva pași dintr-o dată. + and ++ este pentru acest lucru. Numărul de pași săriți se poate seta din cheia de configurare "editpanel > history > fast_undo_steps". - Este posibil de asemenea să aruncați o privire la momentul în care a început totul. ++ sare la început și +++ înapoi la starea finală. 5 Funcții clipboard (meniul editare) Orice desktop nou sau sistem de operare este prevazut cu un clipboard pentru a schimba text și alte date între programe într-un mod simplu. Cel mai des veți folosii clipboardul pentru a muta textul selectat în interiorul programului. Veți găsi toate aceste funcții de asemenea în partea de sus a meniului "Editare" și de asemenea multe dintre ele în partea de mijloc a bării de unelte. - + ("Taie") șterge textul selectat și îl pune în clipboard. - + ("Copiază") copiază textul selectat în clipboard. + la fel. - + ("Inserează") inserează conținutul clipboardului în documentul curent la poziția cursorului. de asemenea +. - + ("Înlocuiește") înlocuiește selecția cu conținutul clipboardului. - ("Delete") șterge selecția. - Taie, copiază și șterge pot fi aplicate la linia curentă dacă adăugăm și la combinația respectivă de taste. (șterge linia = ++) - ++ sau șterge în linia curentă toate caracterele de la stânga sau dreapta cursorului. - ++ dublează linia curentă, inserează o copie a liniei sub linia curentă. - Puteți de asemenea să mutați text prin tragere și plasare (drag'n Drop) în document și în alte programe, dacă suportă acest lucru. Când doriți să copiați text în acest mod, selectați-l, mențineți selecția prin clic pe ea și păstrând apăsat butonul mouse-ului, apăsați (atunci va apărea un pătrat cu semnul "+" sub cursor) și lăsați liber butonul mouse-ului la poziția în care doriți să copiați textul selectat. 6 Meniu și dialog de căutare Editorul are funcții de căutare o frază dată în documentul curent, în toate documentele deschise, sau doar în textul selectat. Aceasta se poate face cu sau fără dialogul de căutare, dar setarea opțiunilor de căutare se poate face numai prin intermediul dialogului de căutare sau în fișierul de configurare dar cred că asta este un pic cam neclar. - + activează dialogul de căutare și înlocuire, și așteaptă introducerea frazei de căutat, o eventuală selecție existentă va fi suprascrisă ca de obicei. Cu ajutorul tastelor și puteți naviga în istoria căutărilor. - Dacă ați selectat un text scurt înainte de activarea dialogului, textul selectat va fi inserat ca frază de căutat, dar dacă selecția cuprinde mai multe linii, atunci editorul va căuta numai în interiorul textului selectat. Rog atenție, odată ce ați găsit în interiorul selecției fraza căutată, aceasta va fi selectată și căutarea în selecția precedentă nu mai poate continua. - După ce ați tastat fraza de căutare trebuie să tastați ca să navigați între rezultatele căutării în josul paginii. Dacă țineți apăsată tasta în timp ce apăsați , direcția va fi în sus. Dacă țineți apăsată tasta în timp ce apăsați , fereastra de dialog va fi închisă înainte de începerea căutării. - Pentru a căuta "înainte" și "înapoi" puteți de asemenea folosii mouse-ul. Faceți clic pe butoanele cu lupa și săgețile albastre pentru a naviga printre rezultatele căutării. În dialogul de căutare sunt mai multe butoane pe partea dreaptă pentru scopuri similare ca de exemplu căutări rapide, du-te la primul sau ultimul rezultat al căutării. - Sub butoanele radio în mijlocul ferestrei de dialog, unde se poate selecta scopul căutării, există un buton căsuță de bifare numită "Auto încadrare". Dacă este bifată opțiunea, "următoarea" potrivire găsită după ultima de la sfârșitul documentului va fi prima de la începutul documentului și vice versa. - Dacă este bifată opțiunea "Căutare incrementală", editorul va începe căutarea (de la începutul documentului) imediat și de fiecare dată când e introdus un caracter. - opțiuni de căutare: + potrivire caracter: căutare care ține cont de majuscule și minuscule + început de cuvânt: rezultatul trebuie să fie un început de cuvânt + cuvinte întregi: rezultatul trebuie să fie un cuvânt întreg + expresii regulare: se pot folosi expresii regulare simple în fraza de căutat - Este de asemenea posibilă căutarea fără ajutorul dialogului de căutare folosind combinația de taste + și textul selectat va fi folosit ca următoarea frază de căutare. Acum puteți folosi ca să navigați înainte și + pentru a naviga înapoi între rezultatele căutării. ++ sare la prima potrivire și +++ la ultima potrivire în interiorul scopului selectat. - Când apelați dialogul de căutare cu ++, programul așteaptă să introduceți fraza de înlocuire, în câmpul de introducere a textului va fi inserată ultima frază de căutare folosită. În cazul în care ați selectat un text înainte de apelarea dialogului, modul de comportare a dialogului de înlocuire va fi același cu acela al dialogului de căutare și de asemenea va fi înregistrată istoria, așa încât veți putea selecta fraze cu mouse-ul sau cu tastele săgeți verticale. - Apăsând în timp ce cursorul este în interiorul câmpului înlocuire va cauza aceleași acțiuni ca și activarea butonului "Înlocuiește totul". Toate potrivirile frazei de căutare în scopul căutării vor fi înlocuite cu cu fraza de înlocuire. Dacă țineți apăsat odată cu se va închide dialogul după terminarea operațiunii. Dacă țineți apăsat odată cu , aceeași funcțiune ca a butonului "Cu confirmare" va fi inițiată. Diferă de funcția "Înlocuiește totul" numai prin faptul că editorul va cere confirmarea înainte de orice înlocuire. - Altă metodă de a ajunge la același rezultat este folosirea butoanelor din partea dreaptă. Aici puteți decide liber unde să sară și ce să înlocuiască prin activarea butoanelor pe care le-am descris mai sus. - Dialogul poate fi închis prin apăsarea tastei sau cu butonul "Închide" care este în colțul din dreapta jos. - "Poziționare la linia" sau + activează un dialog unde puteți introduce numărul liniei la care doriți să sară cursorul. 7 Meniu unelte Carnețelul este un panou paralel în care puteți ține text neformatat. - sare la panoul carnețelului și înapoi. + îl deschide sau îl închide. în interiorul lui execută o evaluare Perl (eval) a conținutului. Rezultatul va fi afișat în panoul de rezultate. Acesta poate fi deschis și închis cu +. 8 Meniu Fișiere Conține toate funcțiunile care au acces la dispozitivele de stocare permanentă (ex: disc dur). Singurele excepții sunt "Nou" și "Ieșire", dar cred că ele aparțin tot aici. - "Nou" creează un document gol nou care nu are încă nici o relație cu vreun fișier. - "Deschide" citește un fișier pe care l-ați selectat cu ajutorul unui dialog și îi afișează conținutul într-un document nou. - "Reîncarcă" citește un fișier ce are deja un document atașat și înlocuiește conținutul afișat cu datele nou citite de pe disc. În acest fel puteți restaura conținutul dela ultima salvare. - "Inserează din ..." inserează conținutul fișierului selectat în documentul vizibil curent la locația cursorului. - "Salvează" scrie conținutul documentului vizibil curent în fișierul atașat dacă există dacă este un document nou cere un nume de fișier. - "Salvează ca" întotdeauna cere un nume de fișier în care să scrie conținutul documentului curent. Dar documentul va fi atașat la numele anterior al fișierului. - "Toate/Celelalte" Multe funcțiuni din acest meniu au un echivalent care conține cuvintele "Toate" sau "Celelalte". Așa cum vă așteptați "Toate" înseamnă că funcția va fi aplicată la toate fișierele deschise iar "Celelalte" înseamnă că funcția va fi aplicată la toate fișierele deschise cu excepția celui curent. - O "Sesiune" este suma tuturor fișierelor deschise. O astfel de sesiune poate fi salvată într-un fișier de sesiuni care conține locația și toate proprietățile tuturor fișierelor deschise astfel că puteți restaura sau adăuga această sesiune cu ajutorul acestui fișier. Doresc de asemenea ca editorul să poată citi (importa) și scrie (exporta) fișiere de sesiune ale altor editoare, dar deocamdată doar fișierul de sesiune al editorului SciTE este suportat. 9 Meniu document - setări document Schimbă o proprietate a documentului curent. Modul evidențiere sintaxă și comutarea utilizării spații tab-uri poate fi de asemenea schimbat din bara de stare interactivă. Toate proprietățile documentului vor fi salvate în fișierul de sesiune și vor fi restaurate la următoarea pornire a programului. - Modul evidențiere sintaxă determină culorile utilizate în document și corespund cu sintaxa unui limbaj anume. În mod normal selecția se face automat în funcție de extensia numelui fișierului. Sub cheia de configurare file > endings este stabilit ce extensie aparține fiecărui limbaj. Modul evidențiere sintaxă poate fi de asemenea stabilit manual, folosind opțiunea "Mod sintaxă" din meniul Document, sau cu meniul contextual din bara de stare. (clic dreapta pe stilul curent). Dacă doriți să schimbați culorile unui stil, căutați opțiune la sfârșitul meniului. - Evidențierea parantezelor este activată la "atingerea" lor cu ajutorul cursorului. Parantezele fără o pereche potrivită vor fi colorate diferit pentru a atrage atenția programatorului că ar putea fi o problemă. Culoarea și altele pot fi setate sub cheia de configurare: editpanel > indicator > bracelight. În prezent aceste setări sunt globale, dar vor face parte din setările noi pentru evidențiere sintaxă. - Indentarea blocului înseamnă că orice după o paranteză deschisă indentează linia următoare mai mult ca cea curentă iar un după o paranteză închisă mai puțin. Mărimea indentării depinde de mărimea tab-ului, vezi și cheia de configurare: editpanel > blockindent. Vezi de asemenea și cheile editpanel > brace_automake și editpanel > brace_autojoin care vor adăuga automat paranteze de închidere sau șterg cea auto generată dacă există una făcută manual. - Auto indentarea inserează același număr de caractere în orice linie nouă, ca în linia precedentă. În prezent este un comportament global, cheia de configurare fiind: editpanel > autcoindent. - Tab-urile nu sunt caractere vizibile, vor fi afișate ca o sumă de spații. Câte spații înseamnă un tab, depinde de setări. Notați vă rog, chiar dacă setările spun că acest număr este 4, un tab poate fi afișat ca 3, 2 sau un spațiu, deoarece un tab ajunge la o poziție care este un multiplu al dimensiunii sale maxime. În documente noi sau deja deschise, setați valoarea în cheia de configurare "file > defaultsetting > tab_size". - Tab-uri soft înseamnă că dacă apăsați tasta (cea cu simbolurile |<-- -->| ), editorul nu va crea un număr de spații cu aceeași dimensiune ca cea pe care ar fi avut-o tab-urile. Cheia de configurare file > defaultsetting > tab_use. - EOL: Unix (Linux), Mac și Windows utilizează caractere diferite pentru a marca sfârșitul liniei, dar aceasta nu este o problemă pentru editor, pentru că liniile vor fi afișate în toate cazurile corect. Editorul, recunoaște de asemenea ce caractere sfârșit de linie care sunt utilizate în document și dacă îl editați, vor fi inserate caracterele corecte. Când doriți să schimbați caracterele sfârșit de linie dintr-un document, folosiți sub meniul EOL sau meniul de context din bara de stare. Trebuie să dați clic dreapta pe câmpul care afișează caracterele sfârșit de linie curente. Caracterele sfârșit de linie ale unui document nou vor fi setate conform cu cheia de configurare: "file > defaultsetting > EOL_new" iar valorile pot fi "cr,lf sau cr+lf". Dacă cheia: "file > defaultsetting > EOL_open" este setată la una din aceste valori, fișierul va fi convertit la deschidere. Implicit este auto care păstrează setarea originală. - Protecție la scriere. Când utilizatorul nu are permisiuni de acces la fișier, editorul va bloca automat documentul și va face acest lucru vizibil prin adăugarea unui caracter '#' după numele documentului. Aceasta ar trebui să prevină conflicte ulterioare, dar veți putea totuși salva documentul sub un nume diferit. Sau poate doriți să folosiți acestă facilitate pentru a proteja un text împotriva neatenției proprii. 10 Meniu vizualizare Funcții ce afectează numai vizual textul sau programul sunt descrise sumar aici. Toate setările de aici afectează toate documentele în mod egal. - "Întotdeauna vizibil" poate fi comutat cu ajutorul combinației de taste + și înseamnă că fereastra principală va fi afișată întotdeauna deasupra celorlalte ferestre. - "Context Menus"-"Statuscontext" ... To be continued ... :) kephra-0.4.3.32+dfsg.orig/share/help/deutsch/0000755000175000017500000000000011633700043017603 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/deutsch/navigation.txt0000644000175000017500000000716111573645307022526 0ustar rizlarizla ------------------------- | Kephra Navigationshilfe | ------------------------- Dies ist eine bersicht wo ihr welches Bedienelement findet, was es kann und wozu es dient. Auch steht hier welche Haltung wir dazu haben, was euch auch sehr helfen kann euch zurechtzufinden, auch wenn ihr das meisste hier schon kennt. Denn wo es Sinn macht haben wir uns natrlich an die bekannten Standarts gehalten. Bedenkt auch Bitte das vieles hier Beschriebene Standarteinstellungen sind die darauf warten nach euren Vorstellungen angepasst zu werden. Hauptmen: Liegt in der oberste Zeile des Programmfensters und ist als thematisch geordnete bersicht ber alle verfgbaren Funktionen gedacht. Hier kann man auch zu jeder Funktion auch eine Kurzbeschreibung erhalten (erscheint dann in der Statuszeile), erfahren welches Icon der Funktion zugeordnet ist und mit welchen Tastaturkombination man die Funktion auch aufrufen kann. Allerdings ist das Hauptmen mit seinen Unter- und Unteruntermens recht umfangreich und verlangt bei der Benutzung manchmal einige Klicks mehr als andere Teile der Bedieoberflche, deswegen sollte man sich hufig gebrauchte Funktion an leichter erreichbare Orte auslagern oder man auch unerwnschte Funktionen und Mens herausnehmen. ++ schaltet Sichtbarkeit ein oder aus. Werkzeugleiste(Toolbar): Liegt meist direkt unterhalb des Hauptmens und ist die Sammlung hufig verwendeter und deshalb schnell erreichbarer Funktionen. Von denen werden nur die Icons(Symbolbilder) angezeigt, wodurch mehr Funktionen in die Toolbar passen und auch das Erkennen der Funktion schneller ist, da man Bilder schneller erkennt als Text. Wenn ihr euch unsicher seid welche Funktion einem Icon zugeordnet ist, haltet den Cursor(Mauszeiger) darber und wartet kurz. Der name der Funktion wird neben dem Icon erscheinen und eine kurze Beschreibung in der Statuszeile. Reiterleiste(Tabbar): Liegt wiederum direkt unterhalb der Werkzeugleiste und zeigt an, welche Dateien grad offen sind und ermglicht die direkte Wahl der aktuellen Datei mit der Maus. Sie knnen auch mit Maus oder Tastur verschoben, oder auch direkt geschloen werden. Die Reiter zeigen auch an ob eine Datei nicht gespeichert ist (*), ob sie schreibgeschtzt ist (#) oder ob es eine aktive Einstellungsdatei ($) ist. ++ die Sichtbarkeit ein oder aus. Kontextmen: Wird meist mit einem Rechts-Klick gerufen und ffnet wo sich der Mauszeiger befindet ein Men. Der Inhalt des Mens bezieht sich auch meit auf das angeklickte Bedienelement (daher der Name). Der Zweck eines Kontextmens ist hnlich dem der Werzeugleiste, man hat hufig gebrauchtes "schnell bei der Hand", auch wenn hier Icon, Name und Tastaturkrzel eines Befehles angezeigt wird. Vorteile zur Werkzeugleiste: man muss den Mauszeiger nichts zur Werkzeugleiste oder Men bewegen und vieles wird auch verstndlicher wenn man es "anfassen" und direkt "verndern" kann. Derzeit gibt es Kontextmens nur zum aktuellen Dokument, dem markierten Text, dem linken Rand, der Suchzeile und ber den meisten Feldern der Statuszeile. Statusleiste: Ist die unterste Zeile des Programmfensters und liefert verschiedene Informationen zum aktuellen Dokument und auch Mitteilungen aufgerufener Befehle. Einige Zellen der Statuszeile ndern ihren Inhalt oder Funktion wenn man die mit der linken Maustaste anklickt und ffnen ein Kontextmen bei Rechtsklick. kephra-0.4.3.32+dfsg.orig/share/help/deutsch/tastaturbelegung.txt0000644000175000017500000003423411573645307023750 0ustar rizlarizla --------------------------------- | Kephra Standardtastaturbelegung | --------------------------------- Nach Tasten geordnet : einfache, Shift+, Strg+, Strg+Shift+, Alt+, Alt+Shift+, Strg+Alt+, Strg+Alt+Shift+ F2 springe zum nchsten Marker in diesem Dokument F3 suche nchsten Eintrag F5 starte Perlprogramm F11 Vollbildmodus ein und ausschalten F12 spring in den Notitzblock Ins wechsle zwischen einfgen- und berschreiben-Modus Entf lsche Markierung Pos1 springe an Zeilenanfang, 1. Buchstaben (2mal drcken) Ende springe an Zeilenende BildHoch blttere Seite nach oben BildRunter blttere Seite nach unten Shift+F2 springe zum vorigen Marker in diesem Dokument Shift+F3 suche vorigen Eintrag Shift+F5 stoppe Perlprogramm Shift+F11 maximale Editierflche Shift+BildHoch erweitere Markierung um 1 Seite nach oben Shift+BildRunter erweitere Markierung um 1 Seite nach unten Shift+Rck lsche leerzeichen bis zum nchsten tabstop Strg+F3 speichere Markierung als Suchtext Strg+F2 einen Marker hier umschalten Strg+F5 schalte Sichtbarkeit des Ausgabefensters um Strg+F11 Vordergrundmodus Strg+F12 schalte Sichtbarkeit des Notizblocks um Strg+Leertaste rcke um ein Leerzeichen ein Strg+Rck springe zu letztbenutzter Datei Strg+Tab rcke um ein Tab ein Strg+Links springe ein Wort links Strg+Rechts springe ein Wort rechts Strg+Hoch bewege Text eine Zeile hoch Strg+Runter bewege Text eine Zeile runter Strg+Entf entferne alle Leerzeichen rechts Strg+Pos1 gehe an Textanfang Strg+Ende gehe an Textende Strg+BildHoch gehe zu vorigem offenem Dokument Strg+BildRunter gehe zu nchstem offenem Dokument Strg+ + (ent)falte hier Strg+1..9 Gehe zu Lesezeichen 1..9 Strg+A markiere ganzen Text des Dokumentes Strg+C kopiere Markierung Strg+D dupliziere Markierung/Zeile Strg+F Suchzeile Strg+G Gehe zu Zeile Strg+I stream Kommentar zufgen () Strg+K kommentiere Zeilen (block comment wie in perl, ruby, python, php) Strg+L lsche Zeile Strg+N neues Dokument Strg+O ffne Datei Strg+Q schliee Datei Strg+R ersetzen Dialog Strg+S speichere Datei Strg+T schalte Fenster im Vordergrund Modus an und aus Strg+V einfgen (Inhalt der Zwischenablage) Strg+W tausche Markierung mit Zwischenablage Strg+X Markierung ausschneiden Strg+Y wechsle Markierung zwischen Wort, Zeile, Block oder nichts Strg+Z letzte Bearbeitung rckgngig Strg+Shift+F2 alle Marker im Dokumenten lschen Strg+Shift+F3 speichere Markierung als Ersatztext Strg+Shift+F5 zeige im Ausgabefenster Markierung in dezimal Strg+Shift+Leertaste Markierung ein Leerzeichen ausrcken Strg+Shift+Rck gehe zum letztgeffneten Dokument Strg+Shift+Tab Markierung einen Tab ausrcken Strg+Shift+Entf lsche Zeile Strg+Shift+Links erweitere Markierung um 1 Wort nach links Strg+Shift+Rechts erweitere Markierung um 1 Wort nach rechts Strg+Shift+BildHoch bewege Reiter nach rechts Strg+Shift+BildRunter bewege Reiter nach links Strg+Shift+F5 zeige im Ausgabefenster Markierung in hexadezimal Strg+Shift + (ent)falte hier rekursiv Strg+Shift+1..9 Lesezeichen 1..9 umschalten Strg+Shift+B Blockformat zum rechten Rand Strg+Shift+C kopiere Zeile Strg+Shift+D Zeile doppeln (fge Kopie unterhalb ein) Strg+Shift+F Suchdialog Strg+Shift+G Gehe zur letzten Bearbeitung Strg+Shift+I stream Kommentar entfernen () Strg+Shift+J verbinde Zeilen (join) Strg+Shift+L lsche Zeile links vom Textcursor(caret) Strg+Shift+O lade Datei erneut Strg+Shift+P Zeilen markieren ( #perl, ruby, php, python) Strg+Shift+Q alle anderen Dokumente schlieen Strg+Shift+R lsche Zeile rechts vom Textcursor(caret) Strg+Shift+S speichere Datei unter Strg+Shift+V letztbenutzte Perlvariable des Blocks einfgen Strg+Shift+W akuelle Zeile mit Zwischenablage austauschen Strg+Shift+X Zeile ausschneiden Strg+Shift+Y markiere Inhalte von Klammern oder Anfhrungszeichen Strg+Shift+Z Bearbeitung wiederhohlen Alt+F2 springe zum nchsten Marker in allen Dokument Alt+F3 resetze und suche nchsten Fundstelle Alt+F11 Transparenz Alt+Links springe zu voriger Klammer Alt+Rechts springe zu nchster Klammer Alt+Hoch springe zu voriger Klammer gleicher Art Alt+Runter springe zu nchster Klammer gleicher Art Alt+BildHoch springe zum anfang dieses Blocks oder Absatzes Alt+BildRunter springe zum nchsten Block oder Absatz Alt+ + (ent)falte dieses Level Alt+Q beende programm Alt+Z mehrere Schritte rckgngig Alt+Shift+F2 springe zum vorigen Marker in diesem Dokument Alt+Shift+F3 resetze und suche vorigen Fundstelle Alt+Shift+F5 zeige im Ausgabefenster Markierung in hexadezimal Alt+Shift+ + (ent)falte alles Alt+Shift+I zeige Infobox Alt+Shift+K zeige Tastaturbelegung Alt+Shift+O lade Datei neu Alt+Shift+R alles ersetzen Alt+Shift+S Kopie der Datei speichern unter ... Alt+Shift+Z mehrere Schritte wiederhohlen Strg+Alt+F3 gehe zur ersten Fundstelle Strg+Alt+Oben bewege Markierung oder Zeile zeilenweise hoch Strg+Alt+Unten bewege Markierung oder Zeile zeilenweise runter Strg+Alt+BildHoch bewege Markierung oder Zeile seitenweise hoch Strg+Alt+BildRunter bewege Markierung oder Zeile seitenweise runter Strg+Alt+Links bewege Markierung zeichenweise links Strg+Alt+Rechts bewege Markierung zeichenweise rechts Strg+Alt+M Menleiste Strg+Alt+O lese alle Dateien erneut ein Strg+Alt+Q schliee alle Dateien Strg+Alt+R resetze alle Strg+Alt+S speichere alle Dateien Strg+Alt+T Reiterleiste Strg+Alt+Z rckgngig bis zum Anfang Strg+Alt+Shift+F2 alle Marker lschen Strg+Alt+Shift+F3 gehe zur letzten Fundstelle Strg+Alt+Shift+R resetze alle, aber frage jedes mal Strg+Alt+Shift+S Datei und Dokument umbenennen Strg+Alt+Shift+Z wiederhohlen bis zum jngsten Stand ================================================================================ Inhaltlich geordnet: - Datei Operationen - Text Navigation - Suchen und Ersetzen - Text Markieren - Text Bearbeiten - Zeile Bearbeiten - Werkzeuge - Dialoge - Datei Operationen Strg+N neues Dokument Strg+O ffne Datei Strg+Shift+O lade Datei erneut Strg+S speichere Datei Strg+Shift+S speichere Datei unter Alt+Shift+S Kopie der Datei speichern unter ... Strg+Alt+Shift+S Datei und Dokument umbenennen Strg+Q schliee Datei Strg+Shift+Q alle anderen Dokumente schlieen Strg+Alt+Q schliee alle Dateien - Text Navigation Pos1 springe an Zeilenanfang, 1. Buchstaben (2mal drcken) Ende springe zum Zeilenende BildHoch blttere Seite nach oben BildRunter blttere Seite nach unten Strg+Links springe ein Wort links Strg+Rechts springe ein Wort rechts Strg+Pos1 gehe zum Textanfang Strg+Ende gehe zum Textende Strg+G Gehe zu Zeile Strg+Shift+G Gehe zur letzten Bearbeitung Strg+1..9 Gehe zu Lesezeichen 1..9 Strg+Shift+1..9 Lesezeichen 1..9 umschalten Alt+Links springe zu voriger Klammer Alt+Rechts springe zu nchster Klammer Alt+Hoch springe zu voriger Klammer gleicher Art Alt+Runter springe zu nchster Klammer gleicher Art Alt+BildHoch springe zum anfang dieses Blocks oder Absatzes Alt+BildRunter springe zum nchsten Block oder Absatz - Text falten Strg+ + (ent)falte hier Strg+Shift + (ent)falte hier rekursiv Alt+ + (ent)falte dieses Level Alt+Shift + (ent)falte alles - Suchen und Ersetzen Shift+F3 suche vorigen Fundstelle F3 suche nchsten Fundstelle Strg+Alt+F3 gehe zur ersten Fundstelle Strg+Alt+Shift+F3 gehe zur letzten Fundstelle Strg+F3 speichere Markierung als Suchtext Strg+Shift+F3 speichere Markierung als Ersatztext Alt+Shift+F3 resetze und suche vorigen Fundstelle Alt+F3 resetze und suche nchsten Fundstelle Strg+Alt+R resetze alle Strg+Alt+Shift+R resetze alle, aber frage jedes mal - Markierungen und Lesezeichen Shift+F2 springe zum vorigen Marker in diesem Dokument F2 springe zum nchsten Marker in diesem Dokument Alt+Shift+F2 springe zum vorigen Marker aller Dokumente Alt+F2 springe zum nchsten Marker aller Dokumente Strg+F2 einen Marker hier umschalten Strg+Shift+F2 alle Marker im Dokumenten lschen Strg+Alt+Shift+F2 alle Marker lschen Strg+1..9 springe zu diesem Lesezeichen Strg+Shift+1..9 Lesezeichen 1 bis 9 am Textcursor umschalten - Text Markieren Shift+Richtungstaste erweitere zeilenweise (normale) Markierung Shift+Alt+Richtung erweitere rechteckige (Spalten) Markierung Strg+Shift+Links erweitere Markierung um 1 Wort nach links Strg+Shift+Rechts erweitere Markierung um 1 Wort nach rechts Shift+BildHoch erweitere Markierung um 1 Seite nach oben Shift+BildRunter erweitere Markierung um 1 Seite nach unten Strg+A markiere ganzen Text des Dokumentes Strg+Y wechsle Markierung zwischen Wort, Zeile, Block oder nichts Strg+Shift+Y markiere Inhalte von Klammern oder Anfhrungszeichen - Text Bearbeiten Strg+Z letzte Bearbeitung rckgngig Strg+Shift+Z Bearbeitung wiederhohlen Alt+Z mehrere Schritte rckgngig Alt+Shift+Z mehrere Schritte wiederhohlen Strg+Alt+Z rckgngig bis zum Anfang Strg+Alt+Shift+Z wiederhohlen bis zum jngsten Stand Entf lsche Markierung oder rechtes Zeichen Strg+Entf lsche rechtes Wort Strg+D dupliziere Markierung/Zeile Strg+V einfgen (Inhalt der Zwischenablage) Strg+W tausche Markierung mit Zwischenablage Strg+X Markierung ausschneiden Strg+Shift+J verbinde Zeilen (join) Strg+Alt+cursor key bewege Markierung oder Zeile - Zeile Bearbeiten Strg+Shift+Entf lsche Zeile Strg+Shift+C kopiere Zeile Strg+Shift+D Zeile doppeln (fge Kopie unterhalb ein) Strg+Shift+L lsche linken teil der Zeile Strg+Shift+R lsche rechten teil der Zeile Strg+Shift+W akuelle Zeile mit Zwischenablage austauschen Strg+Shift+X Zeile ausschneiden Strg+Leertaste Zeile um Leerzeichen einrcken Strg+Shift+Leertaste Zeile um Leerzeichen ausrcken Strg+Tab Zeile um Tab einrcken Strg+Shift+Tab Zeile um Tabausrcken - Werkzeuge F5 starte Perlprogramm, gib Ergebnis ins Ausgabefenster Shift+F5 stoppe Perlprogramm Strg+F5 schalte Sichtbarkeit des Ausgabefensters um Strg+Shift+F5 zeige im Ausgabefenster Markierung in dezimal Alt+Shift+F5 zeige im Ausgabefenster Markierung in hexadezimal F12 spring in den Notitzblock Shift+F12 Markierung im Notitzblock anhngen Strg+F12 schalte Sichtbarkeit des Notizblocks um - Dialoge Strg+F Suchzeile Strg+G Gehe zu Zeile Strg+R Ersetzendialog Strg+Shift+F Suchdialog Alt+Shift+I Infobox - Ansicht F11 Vollbildmodus ein und ausschalten Shift+F11 maximale Editierflche Strg+F11 Vordergrundmodus Alt+F11 Transparenz Strg+Alt+M Menleiste Strg+Alt+T Reiterleiste Strg+F12 schalte Sichtbarkeit des Notizblocks um Strg+F5 schalte Sichtbarkeit des Ausgabefensters umkephra-0.4.3.32+dfsg.orig/share/help/deutsch/diese_version.txt0000644000175000017500000001466011573645307023227 0ustar rizlarizla -------------------- | Kephra Version 0.5 | -------------------- 1. Vorbemerkungen 2. Zusammenfassung 2. Neuigkeiten 4. Probleme 5. Hinweise 6. Plne 1. 1. Vorbemerkungen: - Willkommen bei Kephra. Dieser Editor wird entwickelt um deine Vorstellungen zu Verwirklichen. Fr Anregung, Dank und nderungswnsche besuch unsere Seite. Die Verknpfungen dazu und ein vollstndiges Willkommen findest du im Hilfe-Men. - Dies ist eine sogenannte stabile Version fr den tglichen Gebrauch. Sie enthlt nur gut getestete Funktionen und Fehler werden schnellstmglich mit dem nchsten Patchlevel behoben, welches keine neue Funktionen einfhrt. Wenn du aber neuere Funktionen gleich verwenden willst oder beim Testen dieser mithelfen mchtest, verwende Bitte Testversionen mit dreistellige Nummern. Tgliche Entwicklerversionen mit 4 Stellen sind nur fr ganz mutige. 2. Zusammenfassung der Neuheiten * lesen und schreiben von Unicode-Dateien * neue Maussteuerung * Code falten + Marker + bewegliche Reiter + 8 neue Werkzeuge + 3 neue Hauptfenstermodi + definierbare Statuszeile + Verbindungen zu Netzhilfen im Men * Installation ber CPAN fr Linux, Win und Mac + vieles mehr 3. NEU in dieser Version (ausfhrlich) - Unicode + UTF-8 Dateien werden beim ffnen erkannt und auch als solche gespeichert. + Das vierte Feld in der Statuszeile zeigt an ob utf oder ascii aktuell sind. + Kodierung leerer Dateien kann im Men Dokument > Zeichensatz gendert werden, was sonst (noch) zu Problemen fhren kann. - Neue Maussteuerung Folgende Einstellungen sind alle nderbar und auf einmal auch abschaltbar. + Der Linksklick auf die Markierung kopiert sie. + Der Mittelklick fgt die Markierung ein. + Der Mittelklick auf die Markierung lt das nchste Vorkommen suchen. + Ansonsten lsst der Mittelklick zur letzten Bearbeitung springen. + Der kombinierte Links- dann Mittelklick fgt ein. + Der kombinierte Links- dann Rechtsklick schneidet aus. - Code falten + Zwischen Zeilennummern und Textfeld gibt es einen neuen Faltrand der vor allem Stellen hervorhebt, an denen Text gefaltet oder entfaltet werden kann. + Linksklick oder +<+> faltet oder entfaltet nur den aktuellen Knoten. + Mittelklick oder ++<+> faltet oder entwaltet den aktuellen Knoten und alle seine Kinder. + Rechtsklick oder +<+> faltet oder entfaltet alle Knoten auf einer Ebene. Alle Knoten ohne Eltern liegen auf der Ebene 1, deren Kinder auf Ebene 2 u.s.w. + Links- und Rechtsklick oder ++<+> faltet oder entfaltet alle Knoten. + Wird eine Datei aus dem Men der krzlich geschlossenen Dateien wieder geffnet, sind auch alle Faltungen wieder hergestellt. - Marker Grne Pfleie links neben den Zeilennummern markieren wichtige Textstellen. + Sie knnen einfach mit einem Linksklick auf den Rand oder + gesetzt oder gelscht werden. + oder + ermglicht Sprnge zum nchsten oder vorigen Marker. + Nimmt man + hinzu, werden Marker in allen Dokumenten bercksichtigt. + Dies entspricht den grnen Pfleien in der Suchzeile. + Ein Untermen mit allen Markerfunktionen ist im Suchmen. + Auch Lesezeichen knnen jetzt mit einem (mittlerem) Mausklick in Markerrand gesetzt oder gelscht werden. - Reichere Oberflche + Das Hauptfenster kennt 3 neue Modi, alle mit beendbar. + -Vollbild, Fenster nimmt ganzen Bildschirm ein und hat keinen Rand mehr. + +-Max Editflche, alle leisten werden geschlossen oder geffnet. + +-Durchsichtig, Fenster wird halb transparent. + + sorgt jetzt dafr das das Fenster nicht verdeckt werden darf. + Reiterleiste (++) und Menleiste (++) knnen jetzt einzeln durch Tasten an- oder abgestellt werden. + Die Reiter sind jetzt auch mit der Maus bewegbar. + Das Symbol am rechten Rand der Reiterleiste, ffnet ein Men fr die Auswahl des aktuellen Dokuments. + Im linken Rand lt sich ein neues Kontextmen ffnen. + Die Statuszeile ist jetzt, hnlich wie andere Leisten, durch eine YAML-Datei definierbar, die ber das Men Einstellungen > Benutzerschnittstellen erreichbar ist. + Wurde eine geffnete Datei anderweitig gelscht, so weist ein neuer Dialog jetzt darauf hin und bietet mehrere Mglichkeiten damit umzugehen. + Mehrer Symbole wurden von Jens Neuwerk neu gezeichnet. - Mehr Werkzeuge + + kopiert die Markierung in den Notizablage. + Ein Farbdialog kann markierte Farbwerte sichtbar machen und ausgewhlte Farben wieder in hexadezimale Zahlen umwandeln. + Inhalte der Spezialvariablen knnen im Ausgabefenster @INC %ENV erscheinen. + Markierte Zeichen knnen in dezimal oder hexadezimal ausgegeben werden. + Befindet sich der Caret innerhalb einer in Anfhrungszeichen gesetzten Zeichenkette so kann dies direkt mit ++ kopiert werden. + ++ fgt die in dem Block zuletzt benutzte Perlvariable ein. + ber das Werkzeugmen kann auch aktuelle Zeit und Datum eingefgt werden. + Umlaute knnen zu HTML-Kodierung und zurck konvertiert werden. - Mehr Hilfe + Alle Dokumentation wurde berarbeitet und auf den neusten Stand gebracht. + Im Hilfemen ist ein neuer Eintrag um die Netzversion der Dokumentation im Browser zu ffnen. + Ein weiterer ffnet eine Hilfeforum fr Perlprogrammierer. + Auch bei Wnschen oder Fehlerberichten kann die passende Seite direkt vom Men aus geffnet werden. - Installation jetzt auch ber CPAN-Shell fr Linux, Win und Mac 4. bekannte Fehler und Probleme Derzeit bitte nicht die Kodierung der Datei wechseln. 5. Hinweise + Lest die "Ntzliche Funktionen - Tour". Es gibt einige leicht bersehbare, aber umso mchtigere Funktionen hier zu entdecken. + Um die Haupteinstellungsdatei besser zu verstehen hilft es die englischen Kommentare im Modul Kephra::Config::Default::GlobalSettings zu lesen. 6. Plan fr nchste Versionen + Plugin API + Baumerweiterung fr Codeschnipsel und selbst definierte Werkzeuge + Kommandozeilenerweiterung fr eine Benutzung wie im Vi + Konfiguratationsdialogkephra-0.4.3.32+dfsg.orig/share/help/deutsch/lizenz/0000755000175000017500000000000011633700043021116 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/help/deutsch/lizenz/gpl.txt0000644000175000017500000005601511573645307022466 0ustar rizlarizlaGNU General Public License Deutsche bersetzung der Version 2, Juni 1991 Copyright 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA peter@gerwinski.de Es ist jedermann gestattet, diese Lizenzurkunde zu vervielfltigen und unvernderte Kopien zu verbreiten; nderungen sind jedoch nicht erlaubt. Diese bersetzung ist kein rechtskrftiger Ersatz fr die englischsprachige Originalversion! Vorwort Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verndern. Im Gegensatz dazu soll Ihnen die GNU General Public License , die Allgemeine ffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, da die Software fr alle Benutzer frei ist. Diese Lizenz gilt fr den Groteil der von der Free Software Foundation herausgegebenen Software und fr alle anderen Programme, deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie knnen diese Mglichkeit der Lizenzierung fr Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License , der Allgemeinen ffentlichen GNU-Lizenz fr Bibliotheken.) [Mittlerweile wurde die GNU Library Public License von der GNU Lesser Public License abgelst - Anmerkung des bersetzers.] Die Bezeichnung ,,freie`` Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas fr diesen Service zu berechnen, wenn Sie mchten), die Mglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, da Sie die Software ndern oder Teile davon in neuen freien Programmen verwenden drfen - und da Sie wissen, da Sie dies alles tun drfen. Um Ihre Rechte zu schtzen, mssen wir Einschrnkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschrnkungen folgen bestimmte Verantwortlichkeiten fr Sie, wenn Sie Kopien der Software verbreiten oder sie verndern. Beispielsweise mssen Sie den Empfngern alle Rechte gewhren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie mssen sicherstellen, da auch die Empfnger den Quelltext erhalten bzw. erhalten knnen. Und Sie mssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen. Wir schtzen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfltigen, zu verbreiten und/oder zu verndern. Um die Autoren und uns zu schtzen, wollen wir darberhinaus sicherstellen, da jeder erfhrt, da fr diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, mchten wir, da die Empfnger wissen, da sie nicht das Original erhalten haben, damit irgendwelche von anderen verursachte Probleme nicht den Ruf des ursprnglichen Autors schdigen. Schlielich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir mchten die Gefahr ausschlieen, da Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, da das Programm proprietr wrde. Um dies zu verhindern, haben wir klargestellt, da jedes Patent entweder fr freie Benutzung durch jedermann lizenziert werden mu oder berhaupt nicht lizenziert werden darf. Es folgen die genauen Bedingungen fr die Vervielfltigung, Verbreitung und Bearbeitung: Allgemeine ffentliche GNU-Lizenz Bedingungen fr die Vervielfltigung, Verbreitung und Bearbeitung 0. Diese Lizenz gilt fr jedes Programm und jedes andere Datenwerk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, da das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Datenwerk als ,,das Programm`` bezeichnet; die Formulierung ,,auf dem Programm basierendes Datenwerk`` bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Datenwerk, welches das Programm, auch auszugsweise, sei es unverndert oder verndert und/oder in eine andere Sprache bersetzt, enthlt. (Im folgenden wird die bersetzung ohne Einschrnkung als ,,Bearbeitung`` eingestuft.) Jeder Lizenznehmer wird im folgenden als ,,Sie`` angesprochen. Andere Handlungen als Vervielfltigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berhrt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausfhrung des Programms wird nicht eingeschrnkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt (unabhngig davon, da die Ausgabe durch die Ausfhrung des Programmes erfolgte). Ob dies zutrifft, hngt von den Funktionen des Programms ab. 1. Sie drfen auf beliebigen Medien unvernderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfr ist, da Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschlu verffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverndert lassen und desweiteren allen anderen Empfngern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. Sie drfen fr den eigentlichen Kopiervorgang eine Gebhr verlangen. Wenn Sie es wnschen, drfen Sie auch gegen Entgelt eine Garantie fr das Programm anbieten. 2. Sie drfen Ihre Kopie(n) des Programms oder eines Teils davon verndern, wodurch ein auf dem Programm basierendes Datenwerk entsteht; Sie drfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfltigen und verbreiten, vorausgesetzt, da zustzlich alle im folgenden genannten Bedingungen erfllt werden: 1. Sie mssen die vernderten Dateien mit einem aufflligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder nderung hinweist. 2. Sie mssen dafr sorgen, da jede von Ihnen verbreitete oder verffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebhren zur Verfgung gestellt wird. 3. Wenn das vernderte Programm normalerweise bei der Ausfhrung interaktiv Kommandos einliest, mssen Sie dafr sorgen, da es, wenn es auf dem blichsten Wege fr solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthlt sowie einen Hinweis, da es keine Gewhrleistung gibt (oder anderenfalls, da Sie Garantie leisten), und da die Benutzer das Programm unter diesen Bedingungen weiter verbreiten drfen. Auch mu der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, mu Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben). Diese Anforderungen gelten fr das bearbeitete Datenwerk als Ganzes. Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vernnftigerweise als unabhngige und eigenstndige Datenwerke fr sich selbst zu betrachten sind, dann gelten diese Lizenz und ihre Bedingungen nicht fr die betroffenen Teile, wenn Sie diese als eigenstndige Datenwerke weitergeben. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weitergeben, das ein auf dem Programm basierendes Datenwerk darstellt, dann mu die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen fr weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden - und somit auf jeden einzelnen Teil, unabhngig vom jeweiligen Autor. Somit ist es nicht die Absicht dieses Abschnittes, Rechte fr Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte fr Datenwerke streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Datenwerken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuben. Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder einem auf dem Programm basierenden Datenwerk auf ein- und demselben Speicher- oder Vertriebsmedium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz. 3. Sie drfen das Programm (oder ein darauf basierendes Datenwerk gem Paragraph 2) als Objectcode oder in ausfhrbarer Form unter den Bedingungen der Paragraphen 1 und 2 kopieren und weitergeben - vorausgesetzt, da Sie auerdem eine der folgenden Leistungen erbringen: 1. Liefern Sie das Programm zusammen mit dem vollstndigen zugehrigen maschinenlesbaren Quelltext auf einem fr den Datenaustausch blichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen mu. Oder: 2. Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gltigen schriftlichen Angebot aus, jedem Dritten eine vollstndige maschinenlesbare Kopie des Quelltextes zur Verfgung zu stellen - zu nicht hheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem fr den Datenaustausch blichen Medium weitergegeben wird. Oder: 3. Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfgungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur fr nicht-kommerzielle Verbreitung zulssig und nur, wenn Sie das Programm als Objectcode oder in ausfhrbarer Form mit einem entsprechenden Angebot gem Absatz b erhalten haben.) Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden, die fr Bearbeitungen vorzugsweise verwendet wird. Fr ein ausfhrbares Programm bedeutet ,,der komplette Quelltext``: Der Quelltext aller im Programm enthaltenen Module einschlielich aller zugehrigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was blicherweise (entweder als Quelltext oder in binrer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm luft - es sei denn, diese Komponente selbst gehrt zum ausfhrbaren Programm. Wenn die Verbreitung eines ausfhrbaren Programms oder von Objectcode dadurch erfolgt, da der Kopierzugriff auf eine dafr vorgesehene Stelle gewhrt wird, so gilt die Gewhrung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. 4. Sie drfen das Programm nicht vervielfltigen, verndern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrcklich gestattet ist. Jeder anderweitige Versuch der Vervielfltigung, Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen. 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu verndern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Datenwerk) verndern oder verbreiten, erklren Sie Ihr Einverstndnis mit dieser Lizenz und mit allen ihren Bedingungen bezglich der Vervielfltigung, Verbreitung und Vernderung des Programms oder eines darauf basierenden Datenwerks. 6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Datenwerk) weitergeben, erhlt der Empfnger automatisch vom ursprnglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfltigen, zu verbreiten und zu verndern. Sie drfen keine weiteren Einschrnkungen der Durchsetzung der hierin zugestandenen Rechte des Empfngers vornehmen. Sie sind nicht dafr verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschlu, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstnde nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht mglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann drfen Sie als Folge das Programm berhaupt nicht verbreiten. Wenn zum Beispiel ein Patent nicht die gebhrenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. Sollte sich ein Teil dieses Paragraphen als ungltig oder unter bestimmten Umstnden nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im brigen soll dieser Paragraph als Ganzes gelten. Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprche zu verletzen oder die Gltigkeit solcher Ansprche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integritt des Verbreitungssystems der freien Software zu schtzen, das durch die Praxis ffentlicher Lizenzen verwirklicht wird. Viele Leute haben grozgige Beitrge zu dem groen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Einflu. Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. 8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschtzte Schnittstellen eingeschrnkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so da die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschrnkung, als wre sie in diesem Text niedergeschrieben. 9. Die Free Software Foundation kann von Zeit zu Zeit berarbeitete und/oder neue Versionen der General Public License verffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwrtigen entsprechen, knnen aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, da es dieser Lizenz in einer bestimmten Versionsnummer oder ,,jeder spteren Version`` (``any later version'') unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen spteren Version, die von der Free Software Foundation verffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, knnen Sie eine beliebige Version whlen, die je von der Free Software Foundation verffentlicht wurde. 10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen fr die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Fr Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation ; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Datenwerke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu frdern. Keine Gewhrleistung 11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewhrleistung fr das Programm, soweit dies gesetzlich zulssig ist. Sofern nicht anderweitig schriftlich besttigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfgung, ,,wie es ist``, ohne irgendeine Gewhrleistung, weder ausdrcklich noch implizit, einschlielich - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit fr einen bestimmten Zweck. Das volle Risiko bezglich Qualitt und Leistungsfhigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten fr notwendigen Service, Reparatur oder Korrektur bei Ihnen. 12. In keinem Fall, auer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenber fr irgendwelche Schden haftbar, einschlielich jeglicher allgemeiner oder spezieller Schden, Schden durch Seiteneffekte (Nebenwirkungen) oder Folgeschden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschlielich - aber nicht beschrnkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden mssen, oder dem Unvermgen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter ber die Mglichkeit solcher Schden unterrichtet worden war. Ende der Bedingungen Anhang: Wie Sie diese Bedingungen auf Ihre eigenen, neuen Programme anwenden knnen Wenn Sie ein neues Programm entwickeln und wollen, da es vom grtmglichen Nutzen fr die Allgemeinheit ist, dann erreichen Sie das am besten, indem Sie es zu freier Software machen, die jeder unter diesen Bestimmungen weiterverbreiten und verndern kann. Um dies zu erreichen, fgen Sie die folgenden Vermerke zu Ihrem Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden Quelldatei zu stellen, um den Gewhrleistungsausschlu mglichst deutlich darzustellen; zumindest aber sollte jede Datei eine Copyright-Zeile besitzen sowie einen kurzen Hinweis darauf, wo die vollstndigen Vermerke zu finden sind. [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) [Jahr] [Name des Autors] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Auf Deutsch: [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) [Jahr] [Name des Autors] Dieses Programm ist freie Software. Sie knnen es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation verffentlicht, weitergeben und/oder modifizieren, entweder gem Version 2 der Lizenz oder (nach Ihrer Option) jeder spteren Version. Die Verffentlichung dieses Programms erfolgt in der Hoffnung, da es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Fgen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per Brief erreichbar sind. Wenn Ihr Programm interaktiv ist, sorgen Sie dafr, da es nach dem Start einen kurzen Vermerk ausgibt: version 69, Copyright (C) [Jahr] [Name des Autors] Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Auf Deutsch: Version 69, Copyright (C) [Jahr] [Name des Autors] Fr Gnomovision besteht KEINERLEI GARANTIE; geben Sie `show w' fr Details ein. Gnonovision ist freie Software, die Sie unter bestimmten Bedingungen weitergeben drfen; geben Sie `show c' fr Details ein. Die hypothetischen Kommandos `show w' und `show c' sollten die entsprechenden Teile der GNU-GPL anzeigen. Natrlich knnen die von Ihnen verwendeten Kommandos anders heien als `show w' und `show c'; es knnten auch Mausklicks oder Menpunkte sein - was immer am besten in Ihr Programm pat. Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) oder Ihre Schule einen Copyright-Verzicht fr das Programm unterschreiben lassen. Hier ein Beispiel. Die Namen mssen Sie natrlich ndern. Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. [Unterschrift von Ty Coon], 1 April 1989 Ty Coon, President of Vice Auf Deutsch: Die Yoyodyne GmbH erhebt keinen urheberrechtlichen Anspruch auf das von James Hacker geschriebene Programm ,Gnomovision` (einem Schrittmacher fr Compiler). [Unterschrift von Ty Coon], 1. April 1989 Ty Coon, Vizeprsident Diese General Public License gestattet nicht die Einbindung des Programms in proprietre Programme. Ist Ihr Programm eine Funktionsbibliothek, so kann es sinnvoller sein, das Binden proprietrer Programme mit dieser Bibliothek zu gestatten. Wenn Sie dies tun wollen, sollten Sie die GNU Library General Public License anstelle dieser Lizenz verwenden. kephra-0.4.3.32+dfsg.orig/share/help/deutsch/lizenz/anerkennung.txt0000644000175000017500000000357711573645307024224 0ustar rizlarizla ------------------ | Autoren und Dank | ------------------ Kephra von (C) Herbert Breunung und andere, es gebraucht all die hier aufgelisteten Dinge und ist unter der GPL lizensiert die hier lokal unter help/deutsch/lizens/gpl.txt liegt oder im netz unter www.fsf.org/licenses/gpl.html. Beteiligt an Entwicklung sind/waren: Manuel Renz, Maik Glatki, Wanja Chresta Die Icons (in /config/ico/jenne) sind von Jens Neuwerk (www.stockicons.org) starter-exe unter Windows ist ein Werk von Robin Haberkorn (Shai-Hulud) Perl (in /pre) von (C) Larry Wall und vielen vielen andere ist unter der GPL (siehe oben) und der artistic license (help/license/artistic.txt) oder (www.perl.com/language/misc/Artistic.html) lizensiert WxPerl (in /pre/wx) von Mattia Barbon ermglicht Perl die WxWidgets zu steuern und wurde unter der selben Lizens wie Perl verffentlicht WxWidgets von Julian Smart, Robert Roebling, Vadim Zeitlin und andere steht unter der wxWidgets lizens (help/license/wx.txt) die auf der LGPL basiert (help/license/lgpl.txt oder www.fsf.org/licenses/lgpl.txt) Teile: (c) 1996 Artificial Intelligence Applications Institute Scintilla (c) Neil Hodgson, Neils eigene Lizens unter (help/license/sci.txt) ist als contrib Teil der WxWidgets der sich wxSTC nennt ActivePerl (diese Distribution von Perl) von Active State ist lizensiert unter der ActiveState Community License (help/license/asl.txt oder www.activestate.com/Products/ActivePerl/license_agreement.plex)Config::General (in /pre/cpan/config) von (c) 2000-2003 Thomas Linden Diese Bibliothek ist freie Software; verbreite oder ndere sie unter den gleichen Bedingungen wie Perl selbst. YAML Brian Ingerson aka Ingy dt Net, gleiche Lizenz wie Perlkephra-0.4.3.32+dfsg.orig/share/help/deutsch/alle_funktionen.txt0000644000175000017500000004510611573645307023545 0ustar rizlarizla --------------------------- | Kephra Funktionsbersicht | --------------------------- Dies ist der beste Ort um Fragen zu beantworten wie: "Kann Kephra... ?" , "Wie verstell ich...?" oder "Wie macht man...in Kephra?". In vielen ist das Hauptmen dabei schneller. Auch wenn der Editor noch nicht alles vermag, was wir gerne htten, so mchten wir ihn mchtig nennen weil diese Liste lang ist. Wenn euch Texteditoren bereits vertraut sind, kann vieles hier bersprungen werden. Dann empfehle ich die 'besondere_funktionen.txt' zu lesen, die im Men auch unter Hilfe > Ntzliches zu findet ist. Sollte euch eine vollstndige, thematisch nach dem Hauptmen sortierte bersicht der Funktionen dennoch interessieren, so schreitet weiter. Alle Config-Schlssel beziehen sich auf die Datei "config/general/autosaved.conf" (Haupteinstellungen). Inhalt: 1 im Text Navigieren 2 Text Markieren 3 Textbearbeitung (Bearbeiten Men) 4 History (Bearbeiten Men) 5 Zwischenablage (Bearbeiten Men) 6 Suchen-Men und Suchen-Dialog 7 Werkzeuge-Men 8 Datei-Men 9 Dokument-Men 10 Ansicht-Men 11 Konfgurations-Men 12 Hilfe-Men 1 Im Text Navigieren - Caret Bewegen - Richtungstasten (Tasten mit den Pfeilen drauf) oder ein Links-Klick an die entsprechende Position mit der Maus bewegt den Caret (Textcursor) - - - Taste bewegt den Caret zum ersten Zeichen der aktuellen Zeile, das kein Leerzeichen ist. Drckt man nochmal steht der Caret am Zeilenanfang. Die -Taste bewegt Caret zum letzten Zeichen der Zeile. - + springt zum Anfang des Textes und + zum letzten Zeichen der letzten Zeile - und bewegen den Caret seitenweise wobei eine Seite dem sichtbaren Textfenster entspricht - + oder whlen das vorige oder nchste Dokument an. Das zuletzt benutzte Dokument wird mit + oder einem Klick auf das aktuelle Tab angewhlt. - + oder (Pfeiltasten) lsst den Caret wortweise springen - + oder scrollt zeilenweise - + oder blttert absatzweise (Abstze werden durch leere Zeilen getrennt) - Wenn man weiss in welche Zeile man mchte hilft auch +. - Mit ++<+> oder <-> kann man den Text auch zoomen lassen 2 Text Markieren - Hlt man oder linke Maus-Taste gedrckt wird Text markiert (ausgewhlt) - Um einen rechteckigen Bereich auszuwhlen, hlt man dabei Alt gedrckt. - Markierten Text kann man entweder durch gedrckt-halten der linken Maustaste mit der Maus verschieben oder durch gedrckt-halten von + mit den Richtungstasten verschieben. Ist nichts markiert verschiebt ++ oder die aktuelle Zeile. - Hlt man Strg gedrckt, verschiebt man mit der Maus eine Kopie des markierten Textes. - + markiert den gesamten Text 3 Textbearbeitung (Bearbeiten Men) Meist whlt man durch markieren einen Text aus um diesen speziell zu bearbeiten. Ist kein Text ausgewhlt nehmen viele pce-Funktionen das gesamte Dokument. Das Hinzunehmen der Taste kehrt die Bedeutung einer Tastenkombination meistens um. - Gibt man Text ein whrend noch etwas markiert ist wird das Markierte gelscht. - lsst die Caret-Form wechseln. Steht er senkrecht wird der eingegebene Text eingefgt, ist er waagerecht, wird der vorhandene Text berschrieben. - lscht das Zeichen rechts neben dem Caret, + das ganze Wort rechts neben dem Caret. Die -Taste (<--) lscht das Zeichen links neben dem Zeiger, + wieder das ganze Wort. - Es gibt 3 Gruppen mit Funktionen zur Textbearbeitung mit gleichnamigen Untermens im Men Bearbeiten(unten). Formatieren bedeutet dabei in eine andere Form bringen, konvertieren den Text umzuwandeln und kommentieren ihn je nach Sprache zu de/aktivieren. - + rckt die aktuelle Zeile ein, bewegt sie 1 Zeichen nach rechts. Dies geschieht unabhngig von der Caretposition und kann durch markieren auch auf mehrere Zeilen zugleich angewendet werden. ++ rckt ensprechend auch. (1 Zeichen nach links) - Verwendet man dabei statt der Leertaste die -Taste (|<- ->|) rckt man die Zeile(n) mehrere Zeichen aus einmal ein oder aus. Wieviel Zeichen hngt von den aktuell eingestellten Lnge eines Tabulators ab. - ber das Hauptmen kann man auch mehrere Zeilen gleichtief einrcken lassen (an erster Zeile ausrichten), Zeilen verbinden und abstehende Leerzeichen entfernen. (Leerzeichen nach denen kein Schriftzeichen mehr in der Zeile folgt) 5 History (Bearbeiten Men) - der Editor merkt sich jede nderung so das man mit + beliebig viele nderungen zurcknehmen kann, sozusagen rckwrts in der Geschichte der nderungen geht. - Wenn man nur mal nachschauen wollte und wieder "vorwrts" gehen will kann man die "rckwrts-Schritte" mit ++ zurcknehmen. Allerdings ist der Weg "vorwrts" versperrt sobald man in der Vergangenheit eine nderung unternimmt. (es wre ja nicht merh die gleiche Zukunft). - Nimmt man dabei die -Taste hinzu kann man die Sprnge beschleunigen, denn dabei werden mehrere Schritte aus einmal gesprungen. Die genaue Anzahl kann man in der config unter editpanel > history festlegen. - ++ macht alle nderungen rckgngig und +++ lsst sofort wieder zum aktuellen Stand zurckkehren. 4 Zwischenablage (Bearbeiten Men) Jeder neuere Desktop oder Betriebssystem hat einen Speicher wo Programme Daten ablegen und wieder aufnehmen knnen. Damit kann man auch Texte zwischen den Programmen austauschen aber auch nur "zwischenparken" um sie spter wieder mit dem gleichen Programm weiterzuverwenden. - + oder ein Klick auf das Kopieren-Icon in der Toolbar, Hauptmen > Bearbeiten oder im Kontextmen kopiert den markierten Text in die Zwischenablage. - + (oder Einfgen) fgt den Text der Zwischenablage an der Stelle in das Dokument ein, an dem sich der Caret befindet. Der dabei markierte Text wird berschrieben. - + (oder Tauschen) tauscht den markierten Text mit dem in der Zwischenablage. - + (oder Auschneiden) entfernt den markierten Text und kopiert ihn in die Zwischenablage. - (oder Entfernen) lscht ohne zu kopieren. - Ausschneiden, Kopieren und Lschen kann man auch auf die aktuelle Zeile anwenden wenn man die Shift Taste hinzunimmt. - ++ oder lschen die aktuelle Zeile links oder rechts des Carets - ++ doppelt die aktuelle Zeile. - Eigentlich knnt man aber auch Texte per DND (markieren, anklicken + linke Taste gedrckt lassen, zum ziel ziehen und loslassen) auch in andere Programme verschieben. Gedrckt-lassen der bewirkt das nur eine Kopie verschoben wird. 6 Suchen-Men und Suchen-Dialog Der Editor kann das aktuelle Dokument, alle offenen Dokumente oder nur innerhalb einer Markierung nach einem bestimmten Text suchen. Das geht mit oder auch ohne den Suchdialog, aber Suchoptionen lassen sich nur ber den Dialog verndern (oder ber die config, auch wenn das kein eleganter Weg ist.) - + ffnet den Suchdialog. Er erwartet die Eingabe des zu suchenden Textes. Bereits verwendete Suchbegriffe knnen mit den Richtungstasten und angefordert werden. - Hat man vorher einen Text markiert, wird dieser automatisch als Suchbegriff eingefgt. Ging die Markierung aber ber mehrere Zeilen, erkennt er dies als Suchbereich an. Man beachte dass man bei einer Suche in einem markierten Bereich nur den ersten Fund anzeigen kann und die ursprngliche Markierung dann weg ist. - Drckt man nach Eingabe des Suchbegriffes , beginnt die Suche von oben nach unten. Hlt man dabei gedrckt sucht er "rckwrts" von unten nach oben. Ein gehaltenes beendet den Dialog nach der Suche. - Zum vorwrts und rckwrts suchen gibt es auch 2 Icons in der Toolbar (Lupe mit Pfeilen) die eine Navigation per Maus ermglichen. Im Suchdialog befindet sich ganz rechts mehrere Knpfe die ebenfalls eine Bedienung per Maus ermglichen. Dieses Such Pad ermglicht auch schnelle Suche sowie Springen zum ersten und untersten Fund sowie vorwrts und rckwrts suchen mit ersetzen. - Unterhalb der Suchbereich-Auswahl ist die Checkbox "Springe zw. Enden". Ist sie aktiviert findet der Editor am Dokumentende als nchsten Fund den obersten oder springt auch vom obersten rckwrts wieder zum letzten Fund, wenn man dessen Vorgnger sucht. - Ist die Option inkrementelle Suche aktiviert, wird mit jeder Vernderung der neue Suchbegriff vom Dokumentanfang beginnend gesucht. - Suchoptionen: + Gross/klein-schreibung des Suchbegriffes (nicht)beachten. + der Suchbegriff muss (nicht) Anfang eines Wortes sein. + der Suchbegriff muss (nicht) ganzes Wortes sein. + der Suchbegriff kann durch einfache regulre Ausdrcke gebildet werden. - Wenn man ohne Dialog Suchen mchte kann man sich mit vorwrts suchen und rckwrts mit +. ++ springt zum obersten und +++ zum letzten Fund. Der "Suchen"-Knopf in der untersten Zeile des Dialogs entspricht ++. Mchte man einen neuen Suchbegriff ohne Dialog definieren, markiert man ihn im Text und drckt +. - Wenn man den Dialog mit ++ ruft, erwartet er den Text mit dem ersetzt werden kann. Der letzte Suchbegriff wird automatisch eingesetzt. Entsprechend dem Suchverhalten wird hier auch ein etwaiger markierter Text als Ersetzen-Begriff eingesetzt, geht die Markierung ber mehrere Zeilen wird die als Suchbereich verstanden. Auch diese Eingabezeile ermglicht mit den vertikalen Pfeiltastet oder mit der Maus in den letztbenutzen Begriffen zu blttern. - Drckt man wird sofort im angegeben Suchbereich alles ersetzt, was dem Knopf "Alle Ersetzen" in der untersten Zeile entspricht. Hlt man dabei gedrckt, wird der Dialog nach dem Ersetzen geschlossen. Hlt man dabei jedoch gedrckt entspricht das der Funktion des Knopfes "Mit Besttigung". Dabei wird vor jedem Ersetzen nachgefragt ob dieses Ersetzen erwnscht ist. - Die andere Mglichkeit dies zu erreichen ist das bereits erwhnte Searchpad im rechten Drittel des Dialogs. - Der Dialog kann mit der -Taste oder dem "Schliessen"-Knopf beendet werden. -"Gehe zu Zeile" oder + ruft einen Dialog mit dem man zu einer angegeben Zeilennummer im aktuellen Dokument springen kann. 7 Werkzeuge-Men Der Notizblock ist eine paralleles Panel in dem einfach etwas unformatierter Text gespeichert wird. - Mit springt der Cursor in den Notizblock und zurck. + lt den Notizblock nur auf- und zuklappen. Ein im Notizblock evaluiert den Inhalt als Perlcode. Das Ergebnis wird im Ausgabepanel angezeigt. - startet einen Interpreter mit dem aktuellen Dokument als Eingabe. Der Prozess kann jederzeit mit + angehalten werden. Das Ergebnis oder Fehlermeldung werden im Ausgabepanel angezeigt, da mit + auf oder zugeklappt werden kann. 8 Datei-Men Enthlt alle Funktionen die auf die Festplatte zugreifen, einzige Ausnahmen sind "neu" und "beenden" die aber noch am ehesesten hierher gehren. - "neu" erstellt neues leeres Dokument das noch keinem Dateinamen zugeordnet ist. - "ffnen" liest eine Datei ein und fgt den Inhalt in ein neues Dokument. der Dateiname bleibt dem Dokument zugeordnet. - "neu einlesen" Liest die einem Dokument zugeordnete Datei erneut ein und ersetzt den Text des Dokumentes mit dem Inhalt der Datei. Dadurch wird die letzte gespeicherte Version wiederhergestellt. - "einfgen" fgt den Inhalt einer ausgewhlten Datei am aktuellen Textcursor (caret) ein. - "speichern" sichert den aktuell sichtbaren Text in der zugehrigen Datei. - "speichern unter" speichert den Text unter einem ausgewhlten Dateinamen, der nun dem Dokument zugeordnet wird. - "kopie speichern" speichert auch den Text unter einem ausgewhlten Dateinamen, allerding bleibt das Dokument dem vorigen Dateinamen zugeordnet. - "alle/anderen" Alle beziet sich immer auf alle offenen Dateien und anderen auf alle ausser der aktuellen Datei. - "Gruppe" meint die Zusammenfassung aller zu einem Zeitpunkt geffneten Dokumente. Die in dem Untermen gezeigten Funktionen dienen dem Speichern aller BER die Dokument-Gruppe bekannten Informationen, die auch spter mit ffnen oder hinzufgen wieder hergestellt werden knnen. Da andere Editoren andere Formate benutzen solche Gruppen zu speichern bietet der Editor auch die Mglichkeit an, diese zu importieren oder zu exportieren. 9 Dokument-Einstellungen sind (meistens) Eigenschaften die fr jedes Dokument getrennt gespeichert und verndert werden knnen. Das Meiste davon verstellt man ber das Dokument-Men oder direkt in der Haupkonfigurationsdatei: "config/general/autosaved.conf" . Syntaxstyle und Tabmode lassen sich aber auch ber die Statuszeile verstellen. - Das Syntaxstyle bestimmt die Einfrbung des Textes und entspricht der Grammatik der jewailigen Sprache. Die Auswahl des Styles erfolgt meist beim ffnen der Datei automatisch anhand der Datei-Endung. Die Zugehrigkeit eines Styles zu einer Endung definieren die file > endings Einstellungen in der config. - Klammerhervorhebung lsst zugehriges Klammerpaare aufleuchten und zeigt auch an wenn die Klammer keinen Partner hat. Die Farbeinstellungen dazu sind unter editpanel > indicator > bracelight. Diese Eigenschaft ist derzeit nur global an und abschaltbar. - Klammereinrckung(block indent) bedeutet dass ein nach ffnenden Klammern einrcken lsst und nach schliessenden Klammern ausrcken lsst. siehe editpanel > blockindent. Dort finden sich auch die Schlssel brace_autojoin und brace_automake mit die den Editor veranlassen bei blockindent gleich die zugehrige Klammer zu erzeugen bzw. bei blockdedent eventuell dann doppelt vorhandene schliesende Klammern zu lschen. - Autoeinrckung(autoindent) lsst jede neue Zeile sofort so weit einrcken wie die Vorige. Diese Eigenschaft ist derzeit, wie auch Klammereinrckung, nur global an und abschaltbar. - Tabs sind nicht sichtbare Zeichen die zum Formatieren des Textes dienen und die den Platz mehrere Leerzeichen einnehmen knnen. Wie viele dies sind kann man unter Tab Breite einstellen. der Wert dafr in neuen Dateien richtet sich nach der config Einstellung in file > defaultsetting > tab_size. - Soft Tabs nennt man entsprechend viele Leerzeichen die anstatt eines Tabs eingefgt werden wenn die Tab-Taste(|<-- -->|) gedrckt wird. Siehe Men tabulatoren und config: file > defaultsetting > tab_use. - EOL: Windows, Unix(Linux) und Mac benutzen verschiedene Zeilentrennzeichen. der Editor erkennt nicht nur alle sondern erzeugt standardmssig auch die jeweils in dem Dokument verwendeten EOL's. Man kann jedoch auch in der config: file > defaultsetting > EOL_open von auto auf cr|lf|cr+lf stellen. Dann werden geffnete Dateien automatisch konvertiert. file > defaultsetting > EOL_new bestimmt den EOL neuer Dokumente. - Schreibschutz. Manche Dateien drfen vom Benutzer nich geschrieben werden. um sptere Konflikte zu vermeiden werden die ensprechenden Dokumente mit einer Raute im Reiter gekennzeichnet und knnen nicht im Editor bearbeitet werden. Der Schreibschutz ist aber ber das Men an und abschaltbar. 10 Ansicht-Einstellungen ndern nichts am Text sondern nur an der Optik des Textes oder des Programmes. Sie gelten fr alle Dokumente in gleicher Weise. - "Im Vordergrund" ist er mit + aktiviert berlagert der Editor jedes andere Fenster und bleibt stndig sichtbar. - "Symbolleiste"-"Statuskontext" Dieser Block im Ansichtmen dient zum Ein- und Ausblenden von Teilen der Programmoberflche. Alle Einstellungen unterhalb beziehen sich auf das Textfeld. - "Zeilennummern" bestimmt die Breite der Anzeige der Zeilennummern. Diese passt sich den Bedrfnissen an, solange die Breite nicht 0 ist oder config: editpanel > margin > linenumber > autosize aktiv ist. Auch Farben und Mindestbreite knnen dort eingestellt werden. - "Extrarand": Damit kann ein zustzlicher Abstand an den Rndern des Textfeldes links und rechts eingestellt werden. - "Rechter Rand" blendet eine senkrechte Linie ein oder aus, an der man die Zeilenenden ausrichten kann. Farbe und Position sind in der Config-Datei unter editpanel > indicator > right_margin gespeichert. - "Einrckmarkierung" blendet auch senkrechte Linien ein/aus, an denen man die Einrckungen der Zeilen orientieren kann. Diese Linien erscheinen nur dort wo Leerzeichen sind, in Abstnden, die der aktuellen Tabulatorbreite entsprechen. - "Aktuelle Zeile" markiert die Zeile in der sich der Caret befindet mit einer besonderen Hintergrundfarbe. (editpanel > indicator > caret_line) - "Zeilenumbruch" bricht Zeilen am Fensterrand um, und stellt lange Zeilen in mehreren Teilen untereinander dar. - "Zeilenendsymbol" blendet Symbole fr die sonst unsichtbaren Zeilentrenn- zeichen ein oder aus. - "Leerzeichen" mache Leerzeichen und Tabulatoren mit Punkten und Pfeilen sichtbar oder unsichtbar. - "Schriftart" ruft einen Dialog mit dem man alle Eigenschaften der verwendeten Schriftart einstellen kann. 11 Konfgurations-Men: Ist eine bersicht ber alle Konfigurtaions-Dateien die hiermit direkt geffnet, werden knnen. Vorsicht: Erscheint im Reiter ein $, werden alle nderungen beim Speichern sofot angwandt. 12 Hilfe-Men: Texte, Verknpfungen und Dialoge mit Informationen ber das Programm und seine Benutzung. kephra-0.4.3.32+dfsg.orig/share/help/deutsch/willkommen.txt0000644000175000017500000000265011573645307022543 0ustar rizlarizla ------------ | Willkommen | ------------ Alle beteiligten Entwickler sind begeistert da Du diesen Editor probierst oder benutzt. Hab Freude damit und besuch auch unsere Internetseite fr Neuigkeiten, Hilfe und Updates zu bekommen: http://kephra.sf.net Anregungen und Kritik sind immer erwnscht. Wenn du dir sicher bist das deine Vorschlge nicht bereits in der neusten Version umgesetzt wurden oder wir nicht bereits nliches planen(siehe roadmap), schreib eine Mail an: kephra-tester@lists.sourceforge.net Wir sind natrlich noch lange nicht am Ziel, eher noch ziemlich am Anfang also freu dich, dass du bei der Enstehung von was schnem dabei bist. Falls du mitmachen willst, Hilfe ist uns immer wilkommen. Unser Ziel ist es einen Editor zu machen der reich an Funktionen ist, damit er schwere Arbeiten so weit es geht erleichtern kann. Er soll dabei soweit wie mglich einstellbar und erweiterbar sein damit er wie ein Handschuh zu zu dir und deinen Aufgaben passt und fr dich einfach bedienbar ist. Er sollte deine Kreativitt untersttzt, nicht ablenken. Auch wenn es ein Universaleditor wird, liegt unser Hauptanwendungsgebiet im Bereich Perl und HTML. Danke P.S. Dieser Text ist schreibgeschtzt, was vom Entwickler als Feature angesehen wird. kephra-0.4.3.32+dfsg.orig/share/help/deutsch/besondere_funktionen.txt0000644000175000017500000001505711573645307024600 0ustar rizlarizla -------------------------------- | Besondere Funktion von Kephra | -------------------------------- Viele Standardfunktionen wie das ffnen einer Datei oder das Bewegen des kleinen blinkenden Striches braucht normalerweise nicht erklrt werden, oder Kephra wre kein guter Editor. Dennoch hat er eine Reihe Funktionen die man bersehen kann, die aber sehr ntzlich sind. Dieser Text erzhlt von diesen Funktionen, inhaltlich geordnet. - Navigation im Text + ++ springt im aktuellen Dokument zu der Stelle, die als letztes bearbeitet wurde, + zum zuletzt gesehenen Dokument. + ++ markiert einen rechteckigen Textausschnitt. + Klammernavigation: + bewegt den Cursor zwischen den Klammern. Vertikal entspricht zusammenhngenden Klammern einer Art und horizontal dem Sprung zwischen Klammern aller Arten. + Blocknavigation: Hlt man , kann man mit und blockweise springen. Blcke werden durch Leerzeilen getrennt. - Bearbeiten von Text + Mit [+]+ kann man mehrere nderungen auf einmal rckgngig machen oder weiderholen. Nimmt man noch hinzu, bewegt man sich zwischen den Endpunkten der Aufzeichnung. + + ersetzt die Markierung mit dem Inhalt der Zwischenablage. + + verDoppelt, fgt eine Kopie hinter den markierten Text an. + Verschieben: ++ bewegt den markierten Text. Ist nichts markiert, wird die aktuelle Zeile bewegt. + Zeilenweises bearbeiten: Fge hinzu, und die meiten Funktionen der einfachen Textbearbeitung beziehen sich auf die aktuelle zeile. Zwei jedoch (++ und ++) sind hier besonders. Sie lschen vom Cursor aus gesehen den linken oder rechten Teil der Zeile. - Datei In diesem Men ist fast alles selbsterklrend. Auch Datei erneut laden oder andere schlieen (alle Dokumente auer dem Sichtbaren) sollte beim blttern einleuten. 2 Funktionen die Dateien speichern mchte ich jedoch hervorheben. + Mit ++ wird der aktuelle Stand des Dokumentes in einer Datei gespeichert, dem Dokument ist jedoch weiterhin die alte Datei zugehrig. + +++ speichert und verndert den Dateiname. - Ansicht + Reiterleiste: bietet sehr viele Einstellmglichkeiten. * Optional gibt es hier ganz links einen Knopf fr ein neues Dokument und ganz rechts einen zum schlieen des aktuellen Textes. * Gleiches tut auch ein Klick mit der mittlere Maustaste, kann aber gegen jede andere Funktion ersetzt werden. * Ein Rechtsklick ruft ein Kontextmen, mit dem man alle Dateien mit vollem Pfad sehen und auch die aktuelle Datei whlen kann. * Ein Linksklick aus den hervorgehoben Reiter wechselt zum letztbenutzen text (switch_back). + Suchzeile: ist an sich selbsterklrend. Hier offenbaht Ein Klick mit der rechten Maustaste ein Men mit den Suchoptionen. Und ist man in der Eingeabezeile und blttert die Suchergebnisse mit kann man auch mit + rckwrts blttern, mit + zum ersten Suchergebnis und mit ++ zum letzten. Hltst du gedrckt, so kannst du auch aus der Eingabe der Suchzeile aus den Text bewegen, wie im Text auch. Mit und kannst du wie im Text seitenweise blttern und hltst du dabei , sogar das Dokument wechseln. + Die Statuszeile liefert viele aktuelle Information, ermglicht aber auch, Eigenschaften des Dokumentes zu verndern. Dabei wechselt ein Linksklick zwischen den blichsten Einstellungen und der Rechtsklick ein Men mit mehr Mglichkeiten. Die meiten Zellen sind dabei weitestgehend selbsterklrend. Nicht offensichtlich ist lediglich das mit jedem Linksklick auf die Zelle ganz rechts andere Informationen ber die aktuelle Datei angezeigt werden. + Die Editorkomponente kann vieles sichtbar machen, wie die aktuelle Zeile, einen rechten Rand, die Tabs und Leerzeichen aber was wirklich erklrenswert sein knnte, sind die Einrckmarkierungen. Das sind senkrechte, gepunktete Hilfslinien, die in Einrckungen (Leerzeichen oder Tabs) zu sehen sind. Sie haben einen Abstand von einer aktuellen Tabbreite zueinander und knnen auch aufluchten wenn die 2 zugehrige Klammern verbinden, die du mit dem Cursor berhrst. - Konfiguration + Haupteinstellungen sind die generellen Einstellungen, die das Verhalten und das Aussehen des Programmes bestimmen. + Kommandoliste ist eine Liste ber fast alle Befehle die der Benutzer dem Programm geben kann. * Im ersten Teil werden jedem Namen (ID) die interne Funktion () zugeordnet. ndert hier nur etwas wenn ihr wirklich wisst was ihr da tut. * Die Sektion bestimmt wann diese Kommandos berhaupt gerufen drfen (wenn angegebene routinen wahr zurck geben). * gibt die events an bei denen sich das der "enable"-Wert ndern knnte. * gibt einen 0|1-Zustand zurck, zum beispiel fr Kippschalter in der Werkzeugleiste. * ist entsprechend das Ereignis wenn sich der ndert. * ordnet den Befehlen eine Bitmapdatei zu. * ist die letzte und vielleicht fr euch interessanteste sektion. Hier knnt ihr den Funktionen Tastaturkombinationen zuordnen. Sind diese einmal gltig, seht ihr das auch in allen Mens und Leisten, aber bitte denkt daran, es heit hier ctrl, nicht strg, auch wenn in einem deutschen Men ctrl zu Strg bersetzt wird. + Mendefinitionen sind nur noch eine Liste aus Kommandos, und daher sehr bersichtlich. Zum Kommentieren hier die Raute(#) bitte ans Zeilenende. + Sprachdateien enthalten zu jedem Kommando die Beschriftung und Kurzhilfe, aber auch die Beschriftung aller Dialoge und sonstigen Anzeigen. Mit solch einer Datei knnt ihr das ganze Programm bersetzen. + Syntaxmodi enthalen alle Farbdefinitionen und Schlsselwrter fr eine Programmiersprache, den Parser kann man damit leider noch nicht ndern. + Templates sind oft verwendete Textbausteine die durch Sondervariablen aktuelle Informationen enthalten knnen. Sie sind im Dateimen aufgelistet.kephra-0.4.3.32+dfsg.orig/share/config/0000755000175000017500000000000011633700043016461 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/localisation/0000755000175000017500000000000011633700043021142 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/localisation/romana.conf0000644000175000017500000012712511573645306023313 0ustar rizlarizla author = Stefan Suciu language = romana iso_code = ro coding = UTF-8 purpose = global localisation version = 0.4.3.13 untitled = fără titlu cursor = poziție cursor - caret selection = dimensiune selecție sau poziție în procente syntaxmode = schimbă limbajul curent codepage = setare codări tab = comută utilizarea taburilor și spațiilor EOL = vizualizează sau modifică caracterul sfârșit de linie message = câmp informații - poate da informații și despre fișierul curent exit = închide aplicația și salvează setările și fișierele exit-unsaved = închide aplicația fără salvarea fișierelor new = deschide un fișier text nou open = afișează un fișier text ca document nou open-dir = deschide toate fișierele din dosar reload = reîncarcă fișierul de pe disc reload-all = reîncarcă toate fișierele deschise rename = redenumește fișierul curent insert = inserează fișier în poziția curentă a cursorului current = salvează starea curentă a fișierului all = salvează toate fișierele deschise as = salvează fișierul curent cu alt nume copy-as = crează o copie a fișierului cu nume diferit, ține versiunea curentă deschisă print = tipărește fișierul curent current = închide fișierul curent, (dacă este presetat, fișierul va fi salvat) all = închide toate fișierele other = închide toate fișierele care nu sunt vizibile unsaved = închide documentul curent fără salvare prealabilă all-unsaved = închide toate documentele fără salvare prealabilă other-unsaved = închide, fără salvare, toate fișierele care nu sunt vizibile open = restaurează o sesiune salvată add = adaugă fișiere într-o sesiune salvată save = salvează ordinea și proprietățile sesiunii import = deschide sesiune cu format străin export = salvează sesiune într-un format străin backup-open = restaurează copia de rezervă a sesiunii backup-save = reține fișierele curente drept copie de rezervă history-open-all = restaurează toate fișierele listate în istoric undo = reconstituie ultima modificare în documentul curent redo = renunță la ultima reconstituire undo-several = sari câțiva pași înapoi în istoric redo-several = sari câțiva pași înainte în istoric goto-begin = restaurează starea de dinainte de prima modificare goto-end = restaurează starea de după ultima modificare delete = șterge istoria tuturor modificărilor cut = taie textul selectat și păstrează-l în clipboard copy = copiază textul selectat în clipboard paste = inserează text din clipboard replace = înlocuiește textul selectat cu cel din clipboard delete = șterge textul selectat fără posibilitate de recuperare cut = taie textul selectat și păstrează-l în clipboard copy = copiază linia curentă în clipboard duplicate = duplică linia curentă replace = înlocuiește linia curentă cu conținutul clipboardului delete = șterge linia curentă delete-left = șterge partea stângă dinainte de cursor delete-right = șterge partea dreaptă de după cursor line-up = mută linia curentă cu o linie mai sus line-down = mută linia curentă cu o linie mai jos page-up = mută linia curentă cu o pagină mai sus page-down = mută linia curentă cu o pagină mai jos uppercase = convertește la majuscule textul selectat lowercase = convertește la minuscule textul selectat titlecase = convertește la majusculă primul caracter a fiecărui cuvânt sentencecase = convertește la majusculă primul caracter a fiecărei fraze spaces2tabs = convertește grupe de spații în taburi tabs2spaces = depinde de mărimea curentă a tabului spaces2entities = convertește toate spațiile în &npsp; entities2spaces = convertește &npsp; în spații chars2entities = convertește caracterele ISO 8859-1 la entități HTML entities2chars = convertește entitățile HTML la caractere ISO 8859-1 add-perl = inserează toate \# după toate indentările del-perl = șterge toate \# care urmează după indentare toggle-perl = comută comentariile pentru linii add-c = înconjoară selecția cu / * și * / del-c = șterge toate / * și * / în selecție add-xml = înconjoară selecția cu del-xml = șterge toate din selecție align-on-begin = aliniază indentările liniilor după prima linie block-on-right-margin = formatează ca bloc de text care nu depășește marginea dreaptă block-on-width = formatează ca bloc de text cu lățimea indicată ... linewrap-on-right-margin = separă liniile înainte de a atinge marginea dreaptă linewrap-on-width = separă liniile la dimensiunea indicată ... indent-char = mărește indentarea liniilor selectate cu 1 dedent-char = micșorează indentarea liniilor selectate cu 1 indent-tab = mărește indentarea cu mărimea curentă a caracterului tab dedent-tab = micșorează indentarea cu mărimea curentă a caracterului tab del-trailing-whitespace = șterge spațiile de la sfârșitul liniilor join-lines = șterge simbolurile sfârșit de linie (EOL) char-left = mută selecția un caracter mai la stânga char-right = mută selecția un caracter mai la dreapta line-up = mută selecția o linie mai sus line-down = mută selecția o linie mai jos page-up = mută selecția o pagina mai sus page-down = mută selecția o pagina mai jos indent2spaces = convertește caracterele Tab dintre începutul liniei și primul cuvânt indent2tabs = convertește spațiile dintre începutul liniei și primul cuvânt spaces2tabs = convertește toate spațiile în caracterele Tab în documentul curent tabs2spaces = convertește toate caracterele Tab în spatii în documentul curent del-trailing-whitespace = șterge spațiile de la sfârșitul liniilor autowrap-switch = Auto încadrare incremental-switch = Căutare incrementală regex-switch = Expresie regulară case-switch = Comutare majuscule/minuscule whole-word-switch = Numai cuvânt întreg word-begin-switch = Început de cuvânt selection = caută și înlocuiește numai în limitele textului selectat document = caută și înlocuiește în tot documentul curent open-docs = caută și înlocuiește în toate documentele deschise prev = găsește precedenta potrivire la căutare în document next = găsește următoarea potrivire la căutare în document first = găsește prima potrivire la căutare în document last = găsește ultima potrivire la căutare în document selection = folosește textul selectat ca valoare de căutare prev = înlocuiește selecția și caută potrivirea precedentă next = înlocuiește selecția și caută potrivirea următoare all = înlocuiește toate potrivirile în intervalul de căutare with-confirm = confirmă sau respinge înlocuirea fiecărei potriviri găsite selection = folosește textul selectat ca valoare de înlocuire last-edit = salt la poziția ultimei modificări în documentul curent line = salt la linia cu numărul ... goto-prev-doc = salt la marcajul precedent mai sus în documentul curent goto-next-doc = salt la marcajul următor mai jos în documentul curent goto-prev-all = salt la marcajul precedent aici sau într-un alt document precedent goto-next-all = salt la marcajul următor aici sau într-un alt document următor toggle-here = pune un marcaj în linia curentă sau șterge-l dacă exista deja delete-doc = șterge marcajele din documentul curent delete-all = șterge marcajele din toate documentele deschise 1 = salt la semnul de carte numărul 1 2 = salt la semnul de carte numărul 2 3 = salt la semnul de carte numărul 3 4 = salt la semnul de carte numărul 4 5 = salt la semnul de carte numărul 5 6 = salt la semnul de carte numărul 6 7 = salt la semnul de carte numărul 7 8 = salt la semnul de carte numărul 8 9 = salt la semnul de carte numărul 9 0 = salt la semnul de carte numărul 0 1 = setează aici sau șterge (dacă există) semn de carte 1 2 = setează aici sau șterge (dacă există) semn de carte 2 3 = setează aici sau șterge (dacă există) semn de carte 3 4 = setează aici sau șterge (dacă există) semn de carte 4 5 = setează aici sau șterge (dacă există) semn de carte 5 6 = setează aici sau șterge (dacă există) semn de carte 6 7 = setează aici sau șterge (dacă există) semn de carte 7 8 = setează aici sau șterge (dacă există) semn de carte 8 9 = setează aici sau șterge (dacă există) semn de carte 9 0 = setează aici sau șterge (dacă există) semn de carte 0 delete-doc = șterge semnele de carte din documentul curent delete-all = șterge semnele de carte din toate documentele note = salt la carnețel note-selection = inserează textul selectat în carnețel interpreter-run-document = rulează programul curent și redirecționează ieșirea lui în panoul de rezultate interpreter-stop-document = întrerupe procesul curent care rulează în panoul de rezultate inc = afișează căile "include" ale interpretorului Perl în panoul de rezultate env = afișează variabilele de mediu în panoul de rezultate selection-dec = afișează textul selectat în zecimal în panoul de rezultate selection-hex = afișează textul selectat în hexazecimal în panoul de rezultate choose-color = dialog pentru selectarea culorii insert-time-date = inserează data și ora insert-last-var = inserează ultima variabilă Perl declarată copy-string = copiază șirul dintre ghilimele duble sau simple auto-indention = indentează linia nouă după cea precedentă la apăsarea tastei Enter brace-indention = indentează paranteza la dreapta după apăsarea pe tasta Enter brace-completion = închide paranteza la apăsarea tastei enter după o paranteză deschisă auto = convertește sfârșitul de linie la standardul liniei unu cr+lf = convertește sfârșitul de linie la standardul Windows sau DOS cr = convertește sfârșitul de linie la standardul Mac lf = convertește sfârșitul de linie la standardul UNIX back = comută la ultimul document utilizat prev = comută la documentul din tab-ul din stânga next = comută la documentul din tab-ul din dreapta ascii = convertește codarea documentului la ASCII 8 biți latin1 = convertește codarea documentului la iso-8859-1 utf8 = convertește codarea documentului la UTF-8 left = mută fila documentului curent cu o poziție mai la stânga right = mută fila documentului curent cu o poziție mai la dreapta as-attr = activează protecția la scriere dacă fișierul este protejat la scriere on = activează protecția la scriere pentru documentul curent off = document întodeauna editabil, chiar dacă nu poate fi salvat auto = selectează modul evidențiere sintaxă în funcție de numele fișierului none = oprește modul evidențiere sintaxă ada = mod evidențiere sintaxă pentru limbajul Ada as = mod evidențiere sintaxă pentru Macromedia Actionscript asm = mod evidențiere sintaxă pentru Assembler ave = mod evidențiere sintaxă pentru limbajul Avennue baan = mod evidențiere sintaxă pentru Baan ERP systems batch = mod evidențiere sintaxă pentru fisiere batch Microsoft c = mod evidențiere sintaxă pentru familia de limbaje C / C++ conf = mod evidențiere sintaxă pentru fișiere de configurare Apache context = mod evidențiere sintaxă pentru ConTeXt Tex Macros cs = mod evidențiere sintaxă pentru Microsoft C-Sharp css = mod evidențiere sintaxă pentru Cascading Style Sheet diff = mod evidențiere sintaxă pentru fișiere patch eiffel = mod evidențiere sintaxă pentru limbajul Eiffel a lui Bertrand Meyers err = mod evidențiere sintaxă pentru fișiere errorcode forth = mod evidențiere sintaxă pentru limbajul Forth fortran = mod evidențiere sintaxă pentru limbajul FORmula TRANslation html = mod evidențiere sintaxă pentru HyperText Markup Language idl = mod evidențiere sintaxă pentru Interface Definition Language java = mod evidențiere sintaxă pentru limbajul Java de la Sun js = mod evidențiere sintaxă pentru Javascript latex = mod evidențiere sintaxă pentru macrouri LaTeX Tex lisp = mod evidențiere sintaxă pentru LISt Prozessor lua = mod evidențiere sintaxă pentru limbajul Lua make = mod evidențiere sintaxă pentru fișierele make matlab = mod evidențiere sintaxă pentru MATLAB nsis = mod evidențiere sintaxă pentru Nullsoft Scriptable Install System pascal = mod evidențiere sintaxă pentru limbajul Pascal al lui Niklaus Wirth perl = mod evidențiere sintaxă pentru limbajul Perl a lui Larry Wall php = mod evidențiere sintaxă pentru PHP al lui Rasmus Lehrdorf property = mod evidențiere sintaxă pentru fișiere simple de configurare ps = mod evidențiere sintaxă pentru limbajul Postscript al firmei Adobe python = mod evidențiere sintaxă pentru limbajul Python al lui Guido van Rossum ruby = mod evidențiere sintaxă pentru limbajul Ruby al lui Yukihiro "Matz" Matsumoto scheme = mod evidențiere sintaxă pentru MIT LISP dialect sh = mod evidențiere sintaxă pentru UNIX Bourne Shell sql = mod evidențiere sintaxă pentru Structured Query Language - IBM tcl = mod evidențiere sintaxă pentru Tool Command Language from John Ousterhout tex = mod evidențiere sintaxă pentru TeX al lui Donald E. Knuth vb = mod evidențiere sintaxă pentru Microsoft Visual Basic vbs = mod evidențiere sintaxă pentru Microsoft Visual Basic Script xml = mod evidențiere sintaxă pentru eXtensible Markup Language yaml = mod evidențiere sintaxă pentru Indy's YAML Ain't Markup Language hard = inserează un caracter Tab la apăsarea tastei Tab soft = inserează spații la apăsarea tastei Tab use = comută utilizarea caracterului Tab (hard tabs) sau a spațiilor (soft tabs) 1 = setează lățimea tabului la 1 caracter 2 = setează lățimea tabului la 2 caractere 3 = setează lățimea tabului la 3 caractere 4 = setează lățimea tabului la 4 caractere 5 = setează lățimea tabului la 5 caractere 6 = setează lățimea tabului la 6 caractere 8 = setează lățimea tabului la 8 caractere config = afișează și modifică configurația programului find = fereastră de dialog pentru căutare text și pentru setări replace = fereastră de dialog pentru căutare și înlocuire text info = versiune, autor, credit, licență keymap = listează combinațiile de taste și funcțiunile asociate advanced-tour = introducere pentru facilitățile ne uzuale dar practice credits = lista tuturor persoanelor care au contribuit feature-list = descrierea facilităților sortată după tematică navigation-guide = ghidul interfeței utilizator welcome = primii pași: cum să obțineți ajutor și cum să trimiteți feedback this-version = noi facilități și modificări importante ale versiunii curente custom = activează meniul context al panoului de editare personalizabil default = activează meniul context implicit al scintilla no = dezactivează toate meniurile context ale panoului de editare EOL = comută vizibilitatea marcajului de sfârșit de linie brace-light = evidențiază perechile corespunzătoare de paranteze caret-line = evidențiază rândul curent (care conține cursorul "caret") indention-guide = linii punctate verticale pe intervalele lațimii tabului right-margin = arată linie verticală dreaptă pe lățimea selectată whitespace = comută vizualizarea spațiilor și taburilor ca săgeți și puncte all = arată sau ascunde toate nodurile vizibile sau invizibile here = arată sau ascunde nodul curent level = arată sau ascunde toate nodurile cu aceeași adâncime in ierarhie (număr de paranteze) recursively = pliază sau arată acest nod și toate din aval în ierarhie font = schimbă familia dimensiunile și stilul fontului line-wrap = frânge liniile lungi la marginea ferestrei numai vizual contexmenu = activează sau dezactivează meniul context dincolo de margini, stânga panoului de editare marker = margine pentru semne de carte, marcaje, pași depanare line-number = setează vizibilitatea numerotării liniilor text-fold = comută marginea pentru iconița de pliere 0 = setează marginea suplimentară pe ambele părți ale textului la 0 pixeli 1 = setează marginea suplimentară pe ambele părți ale textului la 1 pixel 2 = setează marginea suplimentară pe ambele părți ale textului la 2 pixeli 3 = setează marginea suplimentară pe ambele părți ale textului la 3 pixeli 4 = setează marginea suplimentară pe ambele părți ale textului la 4 pixeli 6 = setează marginea suplimentară pe ambele părți ale textului la 6 pixeli 8 = setează marginea suplimentară pe ambele părți ale textului la 8 pixeli 10 = setează marginea suplimentară pe ambele părți ale textului la 10 pixeli 12 = setează marginea suplimentară pe ambele părți ale textului la 12 pixeli maximize = comută toate panourile și barele să mărească zona de editare in = mărește, apropie textul normal = focalizare la setarea implicită a fontului out = micșorează, depărtează textul notepad = comută vizibilitate panoului Carnețel output = comută vizibilitatea panoului Rezultate menubar = comută vizibilitatea meniului principal searchbar = unelte pentru căutare text și funcții de navigare searchbar-goto = sari la bara de căutare și folosește funcția de căutare searchbar-contexmenu = activează sau dezactivează meniul context al barei de căutare statusbar = comută vizibilitatea barei de stare din josul ferestrei statusbar-contexmenu = activează sau dezactivează meniul context din bara de stare date = afișează data fișierului curent în câmpul info din bara de stare length = afișează dimensiunea fișierului curent în câmpul info din bara de stare none = fără informații în câmpul info din bara de stare tabbar = comută vizibilitatea barei cu pagini și a barei de unelte tabbar-contexmenu = activează sau dezactivează meniul context pe bara paginilor toolbar = comută vizibilitatea barei de unelte principale bug-tracker = rog, raportați orice problemă din program documentation = deschide documentația online cu navigatorul implicit feature-wish = propuneri pentru noi funcțiuni sau modificări dorite forum = deschide un web forum Perl în funcție de setările de limbă fullscreen = folosește la maximum spațiul ecranului stay-on-top = fereastra aplicației rămâne întotdeauna vizibilă transparent = fereastră principală străvezie app-lang = limba utilizată pentru interfață open = deschide fișierul configurațiilor globale reload = reîncarcă fișierul configurațiilor globale load-from = încarcă configurațiile globale din fișierul selectat load-backup = încarcă configurațiile globale din copia de rezervă load-defaults = încarcă configurațiile globale implicite merge = îmbină configurațiile globale curente cu setările în acest fișier save = salvează configurațiile globale curente în fișierul din care încărcăm save-as = salvează configurațiile globale curente în fișierul acesta commandlist = definiții pentru apelul funcțiilor, combinații de taste, iconițe menubar = fișierul de definiții pentru bara de meniuri contextmenu = fișierul de definiții pentru meniul de context toolbar = fișierul de definiții pentru bara de unelte maintoolbar = fișierul de definiții pentru bara de unelte principală searchbar = fișierul de definiții pentru bara de căutare statusbar = fișierul de definiții pentru bara de stare localisation = deschide fișierul de localizare pentru limbă ada = deschide fișierul de setări pentru Ada as = deschide fișierul de setări pentru Macromedia Actionscript asm = deschide fișierul de setări pentru Assembler ave = deschide fișierul de setări pentru Avennue baan = deschide fișierul de setări pentru Baan ERP systems batch = deschide fișierul de setări pentru fișiere batch Microsofts c = deschide fișierul de setări pentru C / C++ conf = deschide fișierul de setări pentru Apache context = deschide fișierul de setări pentru ConTeXt Tex Macros cs = deschide fișierul de setări pentru Microsoft C-Sharp css = deschide fișierul de setări pentru Cascading Style Sheet diff = deschide fișierul de setări pentru fișiere patch eiffel = deschide fișierul de setări pentru Eiffel a lui Bertrand Meyers err = deschide fișierul de setări pentru fișiere errorcode forth = deschide fișierul de setări pentru Forth fortran = deschide fișierul de setări pentru FORmula TRANslation html = deschide fișierul de setări pentru HyperText Markup Language idl = deschide fișierul de setări pentru Interface Definition Language java = deschide fișierul de setări pentru Java de la Sun js = deschide fișierul de setări pentru Javascript latex = deschide fișierul de setări pentru Tex macros named LaTeX lisp = deschide fișierul de setări pentru LISt Processor lua = deschide fișierul de setări pentru Lua make = deschide fișierul de setări pentru fisiere make matlab = deschide fișierul de setări pentru MATLAB nsis = deschide fișierul de setări pentru Nullsoft Scriptable Install System pascal = deschide fișierul de setări pentru Pascal al lui Niklaus Wirth perl = deschide fișierul de setări pentru Perl al lui Larry Wall php = deschide fișierul de setări pentru PHP al lui Rasmus Lehrdorf property = deschide fișierul de setări pentru fișiere simple de configurare ps = deschide fișierul de setări pentru Postscript al firmei Adobe python = deschide fișierul de setări pentru Python al lui Guido van Rossum ruby = deschide fișierul de setări pentru Ruby al lui Yukihiro "Matz" Matsumoto scheme = deschide fișierul de setări pentru MIT LISP dialect Scheme sh = deschide fișierul de setări pentru UNIX Bourne Shell sql = deschide fișierul de setări pentru Structured Query Language - IBM tcl = deschide fișierul de setări pentru Tool Command Language from John Ousterhout tex = deschide fișierul de setări pentru TeX al lui Donald E. Knuth vb = deschide fișierul de setări pentru Microsoft Visual Basic vbs = deschide fișierul de setări pentru Microsoft Visual Basic Script xml = deschide fișierul de setări pentru eXtensible Markup Language yaml = deschide fișierul de setări pentru Indy's YAML Ain't Markup Language templates = deschide fișierul cu definițiile model title = Dialog Configurare general = General main_window = Fereastra principală edit = Panou Editare files = Fișiere load = încărcați configurația generală din fișierul : save = salvează configurația curentă în fișierul : goto_line_headline = sari la linia goto_line_input = alegeți linia numărul : wrap_custom_headline = întrerupere linie definită de utilizator wrap_width_input = alegeți lățimea liniei (numărul maxim de caractere) : general = eroare no_param = rulat fără parametri necesari file = eroare de manipulare a fișierului file_find = fișierul nu a putut fi găsit : file_read = fișierul nu a putut fi citit : file_write = fișierul nu poate fi scris : config_read = nu pot citi fișierul de configurare : config_parse = fișierul nu conține date : write_protected = acest fișier este protejat la scriere. write_protected2 = deblocați sau salvați fișierul cu altă denumire. files = Fișiere open = Deschide fișier insert = Inserează fișier rename = Redenumește fișierul save_as = Salvează fișierul ca .. save_all = Salvează tot save_none = Nu salva niciunul save_copy_as = Salvează o copie a fișierului ca ... overwrite = Suprascriu un fișier ! close_unsaved = Închid fișierele nesalvate save_current = Salvez fișierul curent ? save_open = Salvez toate fișierele deschise ? quit_unsaved = Închid fișierele nesalvate open_session = Deschide sesiune add_session = Adaugă sesiune save_session = Salvează sesiunea curentă import_session = Importă sesiunea export_session = Exportă sesiunea open_dir = Deschide fișierele din dosarul : file_changed = Fișier modificat file_changed_msg = Fișierul a fost modificat : file_deleted = Fișier șters file_deleted_msg = Fișierul nu mai poate fi localizat : apply = Aplică save = Salvează save_reload = Salvează ca ... și reîncarcă overwrite = Suprascrie restore = Restaurează reload = Reîncarcă ignore = Ignoră cancel = Renunță close = Închide all = Totul select = Selectează selected = Selectat changed = Modificat deleted = Șters none = Nimic dont_allow = Setările nu permit aceasta. title = Info about motto = Neter of software creation mady_by = by licensed = licensed under detail = see under help > license for credits and more = explicit licenses homepage = for more info visit contains = this version contains and = and wrappes = which wrappes extra = extra Perl Modules dedication = Dedicated to all people who ever tried to write an editor. title = Combinații de taste title = Caută și înlocuiește title = Înlocuire cu confirmare text = Înlocuiește aici ? match_case = diferență între majuscule și minuscule match_word_begin = potrivire pentru începutul cuvântului match_whole_word = potrivire numai pentru cuvinte întregi match_regex = evaluează expresii regulare simple incremental = caută în timp ce tastez auto_wrap = sari între începutul și sfârșitul fișierului forward = caută următoarea backward = caută precedenta fast_forward = caută rapid înainte fast_backward = caută rapid înapoi document_start = caută prima potrivire din document document_end = caută ultima potrivire din document replace_forward = înlocuiește și caută următoarea potrivire replace_backward = înlocuiește și caută precedenta potrivire back = Back esc = Esc enter = Enter del = Del left = Left right = Right up = Up down = Down pgup = Page Up pgdn = Page Down space = Space tab = Tab alt = Alt shift = Shift ctrl = Ctrl kephra-0.4.3.32+dfsg.orig/share/config/localisation/english.conf0000644000175000017500000011446211573645306023467 0ustar rizlarizla author = Herbert Breunung language = english iso_code = en coding = ASCII purpose = global localisation version = 0.4.3.14 untitled = untitled cursor = caret (text cursor) position selection = selection size or position in percentage syntaxmode = changes the current set syntaxmode codepage = encoding settings tab = change the use of tabs and spaces EOL = view or change the end of line character message = info field, can also show infos about the current file exit = shut down the application and save settings and files exit-unsaved = shut down app without saving the open files new = opens a new empty text open = display an existing textfile as a new document open-dir = open all files of this directory reload = read file from hard drive and replace content with displayed reload-all = reload all opened files rename = change current files name insert = insert file content at caret position current = save the displayed state of the current file all = save all the currently opened files as = save current document under different file name copy-as = save doc with different name, keep current version open print = print the current document current = close current document, if preset the file will be saved all = close all open documents other = close all open documents but not the current visible unsaved = close current document without save it before it all-unsaved = close all document without save it before it other-unsaved = unsaved closing of all open docs but not the current visible open = restore an once saved file session add = add files of a saved file session save = save order and properties of this file session import = open files session from another editors format export = save files session in another editors format backup-open = restore the backup session backup-save = remember current files as the backup session history-open-all = restore all listed closed files from history undo = undo the last change in the current document redo = redo the last change made undone undo-several = go several steps back in edit history redo-several = go several steps forward in edit history goto-begin = go back to the state before the first edit goto-end = go forward to the state after the last edit delete = deleting history of all editing changes cut = cut selected text and store it in the clipboard copy = copy selected text to the clipboard paste = insert text from the clipboard replace = replace selected text with the clipboard delete = delete and forget selected text cut = cut current line and store it in the clipboard copy = copy current line to the clipboard duplicate = insert below a copy of the current line replace = replace current line with the clipboard delete = delete and forget current line delete-left = delete left side from textcursor of current line delete-right = delete right side from textcursor of current line line-up = move current line one line up line-down = move current line one line down page-up = move current line one page up page-down = move current line one page down uppercase = turn selected text to uppercase lowercase = turn selected text to lowercase titlecase = turn first char of every word uppercase sentencecase = turn first char of every sentence uppercase spaces2tabs = convert groups of whitespace to tabs tabs2spaces = depends on current tab width spaces2entities = convert all whitespace to &npsp; entities2spaces = convert &npsp; to whitespace chars2entities = convert ISO 8859-1 character to HTML entities entities2chars = convert HTML entities to ISO 8859-1 characters add-perl = insert \# after every indention del-perl = remove all \# following the indention toggle-perl = comment all uncommented lines and vici versa add-c = surround selection with / * and * / del-c = remove all / * and * / in the selection add-xml = surround selection with del-xml = remove all in the selection align-on-begin = align line indentions on first line block-on-right-margin = format to textblock, that not cross right margin block-on-width = format to textblock with chosen width ... linewrap-on-right-margin = split lines before they reach the right margin linewrap-on-width = split lines to a chosen width ... indent-char = increase indention of the selected lines by 1 dedent-char = decrease indention of the selected lines by 1 indent-tab = increase indention by current tab size dedent-tab = decrease indention by current tab size del-trailing-whitespace = delete whitespace on line endings join-lines = delete end of line (EOL) symbols char-left = move selection one character left char-right = move selection one character right line-up = move selection one line up line-down = move selection one line down page-up = move selection one page up page-down = move selection one page down indent2spaces = convert tabs between linestart and first word indent2tabs = convert spaces between linestart and first word spaces2tabs = convert all spaces to tabs in the current doc tabs2spaces = convert all tabs to spaces in the current doc del-trailing-whitespace = delete all trailing whitespace autowrap-switch = Auto Wrap incremental-switch = Incremental Search regex-switch = Regular Expression case-switch = Match Case whole-word-switch = Whole Word only word-begin-switch = Word Begin selection = search and replace only within selected text document = search and replace in whole current document open-docs = search and replace in all open documents document = Marker alt toggle-simple = Umschalten toggle-content = Inhalt autowrap-switch = Springe zw. Enden incremental-switch = Inkrementelle Suche regex-switch = Reguläre Ausdrücke case-switch = Gross/Kleinschreibung whole-word-switch = Nur Ganzes Wort word-begin-switch = Wortbegin selection = Markierung document = Dokument open-docs = Offene Dokumente prev = Suche Vorigen next = Suche Nächsten first = Suche Ersten last = Suche Letzen selection = Markierung Suchen prev = Ersetze Rückwärts next = Ersetze Vorwärts all = Ersetze Alles with-confirm = Bestätige Ersetzen selection = Zu Markierung Ersetzen last-edit = Zur letzten Bearbeitung line = Gehe Zu Zeile ... goto-prev-doc = Vorige Markierung im Dok goto-next-doc = Nächste Markierung im Dok goto-prev-all = Vorige Markierung goto-next-all = Nächste Markierung toggle-here = Markierung Umschalten delete-doc = Lösche im Dokument delete-all = Lösche Alle Markierungen 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 0 = O 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 0 = O delete-doc = Lösche Lesezeichen im Dok delete-all = Lösche Alle Lesezeichen note = Notiere note-selection = Notiere Auswahl interpreter-run-document = Starte Skript interpreter-stop-document = Stop Skript inc = @INC env = %ENV selection-dec = Auswahl in Dez selection-hex = Auswahl in Hex choose-color = Farbauswahl insert-time-date = Zeit & Datum insert-last-var = Einfüge Variable copy-string = Kopiere Zeichenkette auto-indention = Autoeinrückung brace-indention = Klammereinrückung brace-completion = Klammervervollständigung auto = Angleichen cr+lf = CR+LF (Windows) cr = CR (Macintosh) lf = LF (Linux) back = Zurück prev = Voriges next = Nächtes ascii = ASCII latin1 = Latin 1 utf8 = UTF-8 left = Nach Links right = Nach Rechts as-attr = Nach Attribut on = an off = aus auto = nach Dateiendung none = keine ada = Ada as = Actionscript asm = Assembler ave = Avennue baan = Baan batch = Batch c = C | C++ conf = Conf context = Context cs = C\# css = CSS diff = Diff eiffel = Eiffel err = Errorlist forth = Forth fortran = FORTRAN 90 html = HTML idl = IDL java = Java js = Javascript latex = LaTeX lisp = LISP lua = Lua make = Makefile matlab = Matlab nsis = NSIS pascal = Pascal perl = Perl php = PHP property = Property ps = Postscript python = Python ruby = Ruby scheme = Scheme sh = UNIX Shell sql = SQL tcl = TCL tex = TeX vb = Visual Basic vbs = VB Script xml = XML yaml = YAML hard = Tabs (HT = hard tabs) soft = Leerzeichen (ST = soft tabs) use = Tabulatoren 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 8 = 8 config = Einstellungsdialog ... find = Suchdialog ... replace = Ersetzdialog ... info = Info ... keymap = Tastaturbelegung ... advanced-tour = Nützliches credits = Dank feature-list = Funktionsübersicht navigation-guide = Benutzeroberfläche welcome = Willkommen this-version = Diese Version custom = Eigenes default = Standart no = Kein Menü EOL = Zeilenendsymbol caret-line = Aktuelle Zeile brace-light = Klammerhervorhebung indention-guide = Einrückmarkierung right-margin = Rechter Rand whitespace = Leerzeichen all = Alle here = Hier level = Level recursively = Rekursiv font = Schriftart line-wrap = Zeilenumbruch contexmenu = Linke Randleiste marker = Markerrand line-number = Zeilennummern text-fold = Faltrand 0 = 0 px 1 = 1 2 = 2 3 = 3 4 = 4 6 = 6 8 = 8 10 = 10 12 = 12 maximize = Max Editfläche in = Vergrößern normal = Normal out = Verkleinern notepad = Notizablage output = Ausgabe menubar = Hauptmenü searchbar = Suchzeile searchbar-goto = Suchzeile searchbar-contexmenu = Suchzeile statusbar = Statuszeile statusbar-contexmenu = Statuszeile date = Änderungsdatum length = Dateigröße none = Nichts tabbar = Reiterleiste tabbar-contexmenu = Reiterleiste toolbar = Werkzeugleiste bug-tracker = Fehler Melden documentation = Netz Doku feature-wish = Wunsch Einreichen forum = Perlforum fullscreen = Vollbild stay-on-top = Im Vordergrund transparent = Durchsichtig open = Öffnen reload = Neu Laden load-from = Laden Von ... load-backup = Sicherheitskopie Laden load-defaults = Voreinstellungen Laden merge = Mische Mit ... save = Speichern save-as = Speichern Unter ... commandlist = Kommandoliste menubar = Hauptmenü contextmenu = Kontextmenüs toolbar = Werkzeugleisten maintoolbar = Werkzeugleiste searchbar = Suchleiste statusbar = Statuszeile ada = Ada as = Actionscript asm = Assembler ave = Avennue baan = Baan batch = Batch c = C / C++ conf = Conf context = Context cs = C\# css = CSS diff = Diff eiffel = Eiffel err = Errorlist forth = Forth fortran = FORTRAN 90 html = HTML idl = IDL java = Java js = Javascript latex = LaTeX lisp = LISP lua = Lua make = Makefile matlab = Matlab nsis = NSIS pascal = Pascal perl = Perl php = PHP property = Property ps = Postscript python = Python ruby = Ruby scheme = Scheme sh = UNIX Shell sql = SQL tcl = TCL tex = TeX vb = Visual Basic vbs = VB Script xml = XML yaml = YAML templates = Templates exit = beende Programm, speichere Einstellungen exit-unsaved = beende ohne die geöffneten Dateien zu speichern new = öffnet ein neues leeres Dokument open = läd den Inhalt einer ausgewählten Datei open-dir = öffne alle Dateien eines Verzeichnisses reload = lade aktuelle Datei erneut vom Speichermedium (HDD) reload-all = alle offenen Dateien erneut Einlesen rename = ändere Dateinamen des aktuellen Dokuments insert = füge Inhalt einer Datei am Textcursor ein current = speichert das aktuelle Dokument in die Datei all = speichert alle offenen Dokumente as = speichere aktuelle Datei unter anderem Namen copy-as = speichere unter Namen aber behalte diese Version print = drucke aktuelles Dokument current = schliesse das aktuelle Dokument all = alle offenen Dokumente schliessen other = schliesse offene Dokumente, ausser dem aktuellen unsaved = schliesse das aktuelle Dokument ohne es zu speichern all-unsaved = schliesse alle Dokumente ohne sie zu speichern other-unsaved = ungesichertes schliessen aller anderen Dokumente open = gespeicherte Dateigruppe wiederherstellen add = gespeicherte Dateigruppe hinzufügen save = Zusammenstellung der Dateien speichern import = Dateigruppe anderer Editoren importieren export = Dateigruppe im Format anderer Editoren schreiben backup-open = stellt die Backupgruppe wieder her backup-save = merkt sich offenen Dateien als Backupgruppe history-open-all = stelle alle gelisteten Dateien wieder her undo = mache letzte Änderung im Dokument rückgängig redo = zuletzt rückgängig gemachte Änderung wiederholen undo-several = mache mehrere Änderungen rückgängig redo-several = bringe mehrere Änderungen wieder goto-begin = bringe Zustand vor allen Änderungen zurück goto-end = hole alle gemachte Änderungen wieder delete = lösche alle Aufzeichnungen über Änderungen cut = entfernt markierten Text und speichert ihn copy = kopiert markierten Text in der Zwischenablage paste = fügt Inhalt der Zwischenablage in den Text ein replace = tauscht markierten Text mit der Zwischenablage delete = entfernt markierten Text ohne ihn zu speichern cut = entfernt aktuelle Zeile und speichert sie copy = kopiert aktuelle Zeile in der Zwischenablage duplicate = fügt Kopie der aktuellen Zeile unterhalb ein replace = tauscht aktuelle Zeile mit der Zwischenablage delete = entfernt aktuelle Zeile ohne sie zu speichern delete-left = löscht aktuelle Zeile, links des Textcursors delete-right = löscht aktuelle Zeile, rechts des Textcursors line-up = bewege aktuelle Zeile eine Zeile hoch line-down = bewege aktuelle Zeile eine Zeile runter page-up = bewege aktuelle Zeile eine Bildschirmseite hoch page-down = bewege aktuelle Zeile eine Bildschirmseite runter uppercase = markierten Text zu Grossbuchstaben umwandeln lowercase = markierten Text zu Kleinbuchstaben umwandeln titlecase = Wortanfänge zu Grossbuchstaben umwandeln sentencecase = Satzanfänge zu Grossbuchstaben umwandeln spaces2tabs = mehrere Leerzeichen zu jeweils einem Tab tabs2spaces = jedes Tab zu n Leerzeichen, Anzahl entspricht Breite spaces2entities = alle Leerzeichen zu &npsp; konvertieren entities2spaces = &npsp; zu Leerzeichen konvertieren chars2entities = Zeichen des ISO 8859-1 in HTML-Entitäten konvertieren entities2chars = HTML-Entitäten in ISO 8859-1-Zeichen umwandeln add-perl = fügt ein \# an jede Einrückung an del-perl = entfernt jedes \# nach Einrückung toggle-perl = kommentiere unkommentierte Zeilen und vici versa add-c = umschliesse Markierung mit / * und * / del-c = entferne jedes / * und * / in der Markierung add-xml = umschliesse Markierung mit del-xml = entferne jedes in der Markierung align-on-begin = Zeilen an der ersten markierten Zeile ausrichten block-on-right-margin = zu einem Block formatieren der rechten Rand einhält block-on-width = zu einem Block mit gewünschter Breite formatieren linewrap-on-right-margin = Zeilen auf Breite vom rechten Rand kürzen linewrap-on-width = Zeilen auf einzugende Breite kürzen indent-char = füge in markierte Zeilen je ein Leerzeichen ein dedent-char = entferne ein Leerzeichen aus der Einrückung indent-tab = markierte Zeile ein Tab weit nach rechts bewegen dedent-tab = markierte Zeile ein Tab weit nach links bewegen del-trailing-whitespace = lösche Leerzeichen am Ende der Zeilen join-lines = entferne Zeilentrennzeichen (EOL) char-left = bewege markierten Text 1 Zeichen nach links char-right = bewege markierten Text 1 Zeichen nach rechts line-up = bewege markierten Text 1 Zeile nach oben line-down = bewege markierten Text 1 Zeile nach unten page-up = bewege markierten Text 1 Seite nach oben page-down = bewege markierten Text 1 Seite nach unten indent2spaces = Zeileneinrückungen in Leerzeichen umwandeln indent2tabs = alle Zeileneinrückungen in Tabs umwandeln spaces2tabs = alle Leerzeichen im Dokument werden zu Tabs tabs2spaces = alle Tabs im Dokument werden zu Leerzeichen del-trailing-whitespace = lösche alle Leerzeichen an Zeilenenden autowrap-switch = Springe zw. Enden incremental-switch = Inkrementelle Suche regex-switch = Reguläre Ausdrücke case-switch = Gross/Kleinschreibung whole-word-switch = Nur Ganzes Wort word-begin-switch = Wortbegin selection = suchen und ersetzen nur im markiertem text document = suchen und ersetzen im aktuellen dokument open-docs = suchen und ersetzen in allen offenen dokumenten prev = nächstes Vorkommen des Suchbegriffes vor Textcursor(Caret) next = nächstes Vorkommen des Suchbegriffes ab Textcursor(Caret) first = suche erstes Vorkommen des Suchbegriffes im Dokument last = suche letztes Vorkommen des Suchbegriffes im Dokument selection = speichere Markierung als neuen Suchbegriff prev = ersetze Markierung und suche gegen die Leserichtung next = ersetze Markierung und suche weiter in Leserichtung all = ersetze Vorkommen des Suchbegriffes im Suchbereich with-confirm = bestätige jede einzelne Ersetzung im Suchbereich selection = speichere Markierung als neuen Ersetzbegriff last-edit = springe zur Position der letzten Veränderung dieses Dokumentes line = springe zur Zeile mit angegeben Nummer goto-prev-doc = springe zur vorigen Markierung (nach oben) in diesem Dokument goto-next-doc = springe zur nächsten Markierung (nach unten) in diesem Dokument goto-prev-all = springe zur vorigen Markierung (nach oben), sucht in allen Dokumenten goto-next-all = springe zur nächsten Markierung (nach unten), sucht in allen Dokumenten toggle-here = setze Markierung in aktueller Zeile oder lösche sie wenn vorhanden delete-doc = lösche alle Markierungen im aktuellen Dokument delete-all = lösche Markierungen in allen geöffneten Dokumenten 1 = springe zum Lesezeichen Nummer 1 2 = springe zum Lesezeichen Nummer 2 3 = springe zum Lesezeichen Nummer 3 4 = springe zum Lesezeichen Nummer 4 5 = springe zum Lesezeichen Nummer 5 6 = springe zum Lesezeichen Nummer 6 7 = springe zum Lesezeichen Nummer 7 8 = springe zum Lesezeichen Nummer 8 9 = springe zum Lesezeichen Nummer 9 0 = springe zum Lesezeichen Nummer 0 1 = setze hier oder lösche, wenn anwesend Nr 1 2 = setze hier oder lösche, wenn anwesend Nr 2 3 = setze hier oder lösche, wenn anwesend Nr 3 4 = setze hier oder lösche, wenn anwesend Nr 4 5 = setze hier oder lösche, wenn anwesend Nr 5 6 = setze hier oder lösche, wenn anwesend Nr 6 7 = setze hier oder lösche, wenn anwesend Nr 7 8 = setze hier oder lösche, wenn anwesend Nr 8 9 = setze hier oder lösche, wenn anwesend Nr 9 0 = setze hier oder lösche, wenn anwesend Nr 0 delete-doc = lösche alle Lesezeichen im aktuellen Dokument delete-all = lösche alle Lesezeichen in allen Dokumenten note = wechsle Fokus zum Notizblock note-selection = füge Textauswahl im Notizblock ans dortige Textende an interpreter-run-document = starte aktuelles Programm und zeig Ergebnis im Outputpanel interpreter-stop-document = halte Interpreterprozess des Ausgabepanels an inc = zeige die @INC-Pfade des Perlinterpreters im Ausgabefenster env = zeige die Umgebungsvariablen des Perlinterpreters im Ausgabefenster selection-dec = gib Textauswahl in dezimaler Kodierung aus selection-hex = gib Textauswahl in hexadezimaler Kodierung aus choose-color = zeigt markierten Text als Farbe und ermöglicht neue Auswahl insert-time-date = füge am cursor aktuelle Zeit und Datum ein insert-last-var = füge Perlvariable ein, mit der eine vorige Zeile im Block begann copy-string = kopiere umgebende, mit Anführungszeichen markierte Zeichenkette auto-indention = rückt bei Enter neue Zeilen wie vorige ein brace-indention = beachtet Einrückungen nach geschweiften Klammern brace-completion = enter nach einer öffnenden Klammer erzeugt eine schließende auto = Zeilenendformat der ersten Zeile annehmen cr+lf = Zeilenenden in den Windowsstandart umwandeln cr = Zeilenenden in den Applestandart umwandeln lf = Zeilenenden in den UNIXstandart umwandeln back = springe zum letztbenutzen Dokument prev = wechsle zum Dokument mit der nächstniedrigen Nummer next = wechsle zum Dokument mit der nächsthöheren Nummer ascii = konvertiert Zeichensatz des Dokuments zu 8 Bit (ASCII) latin1 = konvertiert Zeichensatz des Dokuments zu iso-8859-1 utf8 = konvertiert Zeichensatz des Dokuments zu UTF-8 (Unicode) left = verschiebe aktuelles Dokument in der Reiterleiste eins nach links right = verschiebe aktuelles Dokument in der Reiterleiste eins nach rechts as-attr = aktiviert Schreibschutz wenn Datei nicht veränderbar ist on = aktiviert Schreibschutz unabhängig von Dateiattributen off = macht das Dokument immer änderbar auto = Syntaxmode nach Dateiendung wählen none = Programmiersprachen-Einstellungen abschalten ada = aktiviere Spracheinstellungen für Ada as = aktiviere Spracheinstellungen für Macromedia Actionscript asm = Spracheinstellungen für Assembler ave = Spracheinstellungen der Avennue-Sprache baan = Sprache der Baan-ERP-Systeme batch = Microsofts alte und einfache Sprache zur Stapelverarbeitung c = Spracheinstellungen für C / C++ Sprachen conf = für Dateien im Apache Config Stil context = Einstellungen für ConTeXt Tex Macros cs = Syntaxmode für Microsoft C-Sharp css = Syntaxmode für Cascading Style Sheet Auszeichnungssprache diff = Syntaxmodus für patch-Dateien eiffel = Bertrand Meyers objektorientierte Sprache Eiffel err = Syntaxmodus für formatierte Fehlermeldungen forth = Sprache der Forth Systeme fortran = Syntaxmode von FORmula TRANslation html = Syntaxmode für HyperText Markup Language idl = Syntaxmode der Interface Definition Language java = Einstellungen für Sun's Java Sprache js = Syntaxmode für Javascript latex = Syntaxmode für LaTeX Tex Erweiterungen lisp = LISt Prozessor Einstellungen lua = Einstellungen für die Erweiterungssprache Lua make = Regeldateien für das 'make' Werkzeug matlab = Scripting-Sprache des MATLAB-Paketes nsis = Sprache des Nullsoft Scriptable Install System pascal = Niklaus Wirth's prozedurale Sprache Pascal perl = Syntaxmode für Larry Walls Perl php = Rasmus Lehrdorf PHP Hypertext Prozessors property = einfache Formate für Konfigurationsdateien ps = Adobe Dokumentbeschreibungssprache Postscript python = Guido van Rossums dynamische Sprache Python ruby = Yukihiro "Matz" Matsumoto's voll objektorientiertes Ruby scheme = Syntaxmode des MIT LISP-Dialekt Scheme sh = Einstellungen für die UNIX Bourne Shell sql = IBM Datenbanksprache Structured Query Language tcl = Tool Command Language von John Ousterhout tex = Donald E. Knuth Macrosprache zur Textsetzung TeX vb = Einstellungen für Microsoft Visual Basic vbs = Einstellungen für Microsoft Visual Basic Script xml = Syntaxmode für die eXtensible Markup Language yaml = Syntaxmode für Indy's YAML Ain't Markup Language hard = füge einen Tab ein wenn Tab-Taste gedrückt wird soft = füge mehrere Leerzeichen statt eines Tabs ein use = benutze Tabulatoren (hard tabs) oder Leerzeichen 1 = Breite der Tabs entspreche 1 Buchstaben 2 = Breite der Tabs entspreche 2 Buchstaben 3 = Breite der Tabs entspreche 3 Buchstaben 4 = Breite der Tabs entspreche 4 Buchstaben 5 = Breite der Tabs entspreche 5 Buchstaben 6 = Breite der Tabs entspreche 6 Buchstaben 8 = Breite der Tabs entspreche 8 Buchstaben config = Programmeinstellungen anzeigen und verändern find = öffne Dialog für Textsuche und Einstellungen replace = öffne Dialog zum Suchen und Ersetzen von Text info = Versionsnummern, Komponenten, Beteiligte, Lizenzen keymap = Übersicht welche Tastenkombination welche Funktion auslöst advanced-tour = Einführung in nicht alltägliche aber praktische Funktionen credits = Liste aller Beteiligten Autoren feature-list = thematisch sortierte Beschreibung aller Funktionen navigation-guide = Erläuterungen zu den Bedienelementen welcome = wo man Hilfe bekommt und wie man Wünsche äußern kann this-version = Einführungstext zu neuen Funktionen und Änderungen custom = aktiviere anpassbare Editor-Kontextmenüs default = aktiviere standart Scintilla-Kontextmenüs no = deaktiviere alle Editor-Kontextmenüs EOL = Sicharkeit der Zeilenendzeichen (EOL) umschalten caret-line = hebt Zeile hervor in der sich Textcursor befindet brace-light = hebt Paare zugehöriger Klammern hervor indention-guide = gepunktete Linien im Abstand der Tab - Breite right-margin = zeigt senkrechte Linie an gewählter Position whitespace = mache Leerzeichen (Punkte) und Tabs (Pfeile) sichtbar all = falte alle sichtbaren und unsichtbaren Knoten here = nur angewählten Knoten ein oder ausklappen level = falte alle Knoten dieser Ebene (gleiche Tiefe in Knotenhierarchie) recursively = falten des angewählten Knotens und all seine Kinder font = Dialog für Schrift Einstellungen line-wrap = bricht lange Zeilen am Fensterrand um (nur optisch) contexmenu = schalte Kontextmenü über dem linken Editorrand an oder aus marker = Rand für Lesezeichen, Marker, Debug-Stops ... line-number = Zeilennummern an und abschalten text-fold = Rand für Textfaltsymbole an oder abschalten 0 = stelle Extrarand an beiden Seiten des Textfelds auf 0 pixel 1 = stelle Extrarand an beiden Seiten des Textfelds auf 1 pixel 2 = stelle Extrarand an beiden Seiten des Textfelds auf 2 pixel 3 = stelle Extrarand an beiden Seiten des Textfelds auf 3 pixel 4 = stelle Extrarand an beiden Seiten des Textfelds auf 4 pixel 6 = stelle Extrarand an beiden Seiten des Textfelds auf 6 pixel 8 = stelle Extrarand an beiden Seiten des Textfelds auf 8 pixel 10 = stelle Extrarand an beiden Seiten des Textfelds auf 10 pixel 12 = stelle Extrarand an beiden Seiten des Textfelds auf 12 pixel maximize = schließe alle Panel und Leisten um mehr Editierfläche zu erhalten in = vergrössere visuell die Schrift normal = setzte visuelle Schriftgröße auf normal out = verkleinere visuell die Schrift notepad = schalte Notepadpanel ein oder aus output = schalte Ausgabepanel ein oder aus menubar = Hauptmenü ein oder ausschalten searchbar = Werkzeugleiste mit Such- und Navigationsfunktionen searchbar-goto = benutze Suchfunktion in Suchzeile searchbar-contexmenu = schalte Kontextmenü der Suchzeile an oder aus statusbar = Statuszeile am Boden des Programmfensters statusbar-contexmenu = schalte Kontextmenüs der Statuszeile an oder aus date = zeige Datum der letzten Dateiänderung im Reiterleisten-Infofeld an length = zeige Informationen über die Dateigröße im Infofeld an none = zeige gar nichts im Infofeld der Statuszeile an tabbar = die Reiterleiste ermöglicht Auswahl des Dokuments durch (Tabs) tabbar-contexmenu = schalte Kontextmenü der Reiterleiste an oder aus toolbar = Haupt-Werkzeugleiste zum Bearbeiten der Dokumente bug-tracker = Bitte jeden Programmfehler auf dieser Netzseite berichten documentation = öffne Dokumentation auf der Heimseite, mit deinem Standardbrowser feature-wish = öffne im Browser Meldestelle für Benutzerwünsche forum = öffne Seite eines Perlforums, passend zur eingestellten Sprache fullscreen = vergrößere das Hauptfenster auf maximimum stay-on-top = andere Programme können das Hauptfenster nicht mehr verdecken transparent = mach Hauptfenster durchsichtig app-lang = wechlse Spracheinstellung des Programms auf open = öffne Datei mit aktuellen globalen Einstellungen reload = evaluiere Datei mit aktuellen globalen Einstellungen neu load-from = lade globale Einstellungen von gewählter Datei load-backup = lade Sicherheitskopie globaler Einstellungen load-defaults = lade Voreinstellungen globale Einstellungen merge = mische globale Einstellungen mit Inhalt folgender Datei save = aktuelle globale Einstellungen in Datei speichern save-as = aktuelle globale Einstellungen in folgender Datei speichern commandlist = Definition das Befehle, Tastenkürzel, Icons, menubar = öffne Definitionsdatei des Hauptmenüs contextmenu = öffne Definitionsdatei der Kontextmenüs toolbar = öffne Standart-Definitionsdatei aller Werkzeugleisten maintoolbar = öffne Definitionsdatei der Werkzeugleiste searchbar = öffne Definitionsdatei der Suchleiste statusbar = öffne Definitionsdatei der Statuszeile localisation = öffne Übersetzungsdatei des Programmes für ada = öffne Datei mit Spracheinstellungen für Ada as = öffne Datei mit Einstellungen für Macromedia Actionscript asm = öffne Datei mit Spracheinstellungen für Assembler ave = Spracheinstellungen der Avennue-Sprache baan = Sprache der Baan-ERP-Systeme batch = Microsofts alte und einfache Sprache zur Stapelverarbeitung c = öffne Datei mit Spracheinstellungen für C / C++ Sprachen conf = Einstellungen für Dateien im Apache Config Stil context = Einstellungen für ConTeXt Tex Macros cs = öffne Datei mit Syntaxmode für Microsoft C-Sharp css = Einstellungen für Cascading Style Sheet öffnen diff = Syntaxmodus für patch-Dateien eiffel = Bertrand Meyers objektorientierte Sprache Eiffel err = Syntaxmodus für formatierte Fehlermeldungen forth = Einstellungen der Sprache der Forth Systeme fortran = Syntaxmode von FORmula TRANslation öffnen html = Syntaxmode für HyperText Markup Language öffnen idl = Syntaxmode der Interface Definition Language öffnen java = Einstellungen für Sun's Java Sprache öffnen js = Syntaxmode für Javascript öffnen latex = Syntaxmode für LaTeX Tex Erweiterungen öffnen lisp = LISt Prozessor Einstellungen öffnen lua = Einstellungen für die Erweiterungssprache Lua make = Regeldateien für das 'make' Werkzeug matlab = Scripting-Sprache des MATLAB-Paketes nsis = Sprache des Nullsoft Scriptable Install System pascal = Datei mit Niklaus Wirth's prozedurale Sprache Pascal perl = Datei mit Syntaxmode für Larry Walls Perl php = Rasmus Lehrdorf PHP Hypertext Prozessors property = einfache Formate für Konfigurationsdateien ps = Adobe Dokumentbeschreibungssprache Postscript python = Guido van Rossums dynamische Sprache Python ruby = Yukihiro "Matz" Matsumoto's voll objektorientiertes Ruby scheme = Syntaxmode des MIT LISP-Dialekt Scheme öffnen sh = Einstellungen für die UNIX Bourne Shell sql = IBM Datenbanksprache Structured Query Language tcl = Tool Command Language von John Ousterhout tex = Donald E. Knuth Macrosprache zur Textsetzung TeX vb = öffne Datei mit Einstellungen für Microsoft Visual Basic vbs = öffne Datei mit Einstellungen für Microsoft Visual Basic Script xml = öffne Einstellungen für die eXtensible Markup Language yaml = öffne Einstellungen für Indy's YAML Ain't Markup Language templates = öffne Datei mit den aktuellen Template Definitionen title = Globale Einstellungen general = Allgemein main_window = Hauptfenster edit = Editfeld files = Dateien load = Konfiguration aus Datei laden : save = Aktuelle Konfiguration als Datei speichern : goto_line_headline = Gehe zu Zeile goto_line_input = bitte Zeilennummer eingeben : wrap_custom_headline = Zeilen auf neue Breite formatieren wrap_width_input = neue Zeilenbreite wählen (maximale Anzahl von Zeichen) : general = Fehler no_param = Ohne benötigte Parameter aufgerufen file = Datei Problem file_find = Kann die Datei nicht finden : file_read = Kann die Datei nicht öffnen : file_write = Kann die Datei nicht schreiben : config_read = Kann Konfigurationsdatei nicht auslesen : config_parse = Datei enthält keine Daten : write_protected = Diese Datei ist vom Betriebsystem schreibgeschützt. write_protected2 = Bitte Schreibschutz aufheben oder unter anderem Namen speichern. files = Dateien open = Datei öffnen insert = Datei einfügen rename = Datei umbenennen save_as = Speichern unter ... save_all = Alle Speichern save_none = Keine Speichern save_copy_as = Kopie speichern unter ... overwrite = Überschreiben Vorhandener Datei ! close_unsaved = Schliesse Ungespeicherte Datei save_current = Speichere aktuelle Datei ? save_open = Speichere alle offenen Dateien ? quit_unsaved = Schliesse Ungespeicherte Dateien : open_session = Öffne Dateigruppe add_session = Füge Dateigruppe Hinzu save_session = Dateigruppe Speichern import_session = Importiere Dateigruppe export_session = Exportiere Dateigruppe open_dir = Öffne Dateien in Verzeichnis : file_changed = Dateiänderung file_changed_msg = Die folgende Datei hat sich geändert : file_deleted = Datei Gelöscht file_deleted_msg = Die folgende Datei ist unauffindbar : apply = Übernehmen save = Speichern save_reload = Speichern und neu Laden overwrite = Überschreiben restore = Zurücksetzen reload = Neu Laden ignore = Ignorieren cancel = Abbrechen close = Schliessen all = Alle select = Wähle selected = Auswahl changed = Geändert deleted = Gelöscht none = Keine dont_allow = Deine Einstellungen erlauben das nicht. title = Info über motto = Neter of software creation mady_by = von licensed = lizensiert under der detail = siehe auch unter Hilfe > Lizensen für Dank und more = vollständiger Lizenstext homepage = für mehr Informationen siehe contains = die Version beinhaltet and = und wrappes = das Anbindung ist für extra = extra Perl Module dedication = All denen gewidmet, die jemals versucht haben einen Editor zu schreiben. title = Tastaturbelegung title = Suchen und Ersetzen title = Ersetzen Mit Bestätigung text = Dieses Ersetzen ? match_case = beachte beim Suchen Gross/Kleinschreibung match_word_begin = Suchbegriff ist Anfang eines Wortes match_whole_word = Begriff nur als ganzes Wort suchen match_regex = einfache reguläre Audrücke anwenden incremental = sucht während der eingabe auto_wrap = springt zum Anfang wenn nichts mehr gefunden forward = suche nächsten backward = suche vorigen fast_forward = schnelle Suche vorwärts fast_backward = schnelle Suche rückwärts document_start = suche am Dokument Anfang document_end = suche am Dokument Ende replace_forward = ersetzen und vorwärts suchen replace_backward = ersetzen und rückwärts suchen back = Rück esc = Esc enter = Enter del = Entf left = Links right = Rechts up = Hoch down = Runter pgup = Bild Hoch pgdn = Bild Runter space = Leertaste tab = Tab alt = Alt shift = Shift ctrl = Strg kephra-0.4.3.32+dfsg.orig/share/config/localisation/cesky.conf0000644000175000017500000011436311573645306023154 0ustar rizlarizla author = Herbert Breunung language = cesky iso_code = cs coding = UTF-8 purpose = global localisation version = 0.4.3.4 untitled = bez nazvu cursor = caret (text cursor) position selection = selection size or position in percentage syntaxmode = changes the current set syntaxmode codepage = encoding settings tab = change the use of tabs and spaces EOL = view or change the end of line character message = info field, can also show infos about the current file exit = close down the entire Application exit-unsaved = exit app without saving the open files new = opens a new empty text open = display an existing textfile as a new document open-dir = open all files of this directory reload = read file from hard drive and replace content with displayed reload-all = reload all opened files rename = change current files name insert = insert file content at caret position current = save the displayed state of the current file all = save all the currently opened files as = save current document under different file name copy-as = save doc with different name, keep current version open print = print the current document current = close current document, if preset the file will be saved all = close all open documents other = close all open documents but not the current visible unsaved = close current document without save it before it all-unsaved = close all document without save it before it other-unsaved = unsaved closing of all open docs but not the current visible open = restore an once saved file session add = add files of a saved file session save = save order and properties of this file session import = open files session from another editors format export = save files session in another editors format backup-open = restore the backup session backup-save = remember current files as the backup session history-open-all = restore all listed closed files from history undo = undo the last change in the current document redo = redo the last change made undone undo-several = go several steps back in edit history redo-several = go several steps forward in edit history goto-begin = go back to the state before the first edit goto-end = go forward to the state after the last edit delete = deleting history of all editing changes cut = cut selected text and store it in the clipboard copy = copy selected text to the clipboard paste = insert text from the clipboard replace = replace selected text with the clipboard delete = delete and forget selected text cut = cut current line and store it in the clipboard copy = copy current line to the clipboard duplicate = insert below a copy of the current line replace = replace current line with the clipboard delete = delete and forget current line delete-left = delete left side from textcursor of current line delete-right = delete right side from textcursor of current line line-up = move current line one line up line-down = move current line one line down page-up = move current line one page up page-down = move current line one page down uppercase = turn selected text to uppercase lowercase = turn selected text to lowercase titlecase = turn first char of every word uppercase sentencecase = turn first char of every sentence uppercase spaces2tabs = convert groups of whitespace to tabs tabs2spaces = depends on current tab width spaces2entities = convert all whitespace to &npsp; entities2spaces = convert &npsp; to whitespace chars2entities = convert ISO 8859-1 character to HTML entities entities2chars = convert HTML entities to ISO 8859-1 characters add-perl = insert \# after every indention del-perl = remove all \# following the indention toggle-perl = comment all uncommented lines and vici versa add-c = surround selection with /* and */ del-c = remove all /* and */ in the selection add-xml = surround selection with del-xml = remove all in the selection align-on-begin = align line indentions on first line block-on-right-margin = format to textblock, that not cross right margin block-on-width = format to textblock with chosen width ... linewrap-on-right-margin = wrap marked lines to width of ritght margin linewrap-on-width = wrap lines to a chosen width ... indent-char = increase indention of the selected lines by 1 dedent-char = decrease indention of the selected lines by 1 indent-tab = increase indention by current tab size dedent-tab = decrease indention by current tab size del-trailing-whitespace = delete whitespace on line endings join-lines = delete end of line (EOL) symbols char-left = move selection one character left char-right = move selection one character right line-up = move selection one line up line-down = move selection one line down page-up = move selection one page up page-down = move selection one page down indent2spaces = convert tabs between linestart and first word indent2tabs = convert spaces between linestart and first word spaces2tabs = convert all spaces to tabs in the current doc tabs2spaces = convert all tabs to spaces in the current doc del-trailing-whitespace = delete all trailing whitespace autowrap-switch = Auto Wrap incremental-switch = Incremental Search regex-switch = Regular Expression case-switch = Match Case whole-word-switch = Whole Word only word-begin-switch = Word Begin selection = search and replace only within selected text document = search and replace in whole current document open-docs = search and replace in all open documents prev = find the previous match of the textsearch next = find the next match of the textsearch first = find first textsearch match in document last = find last textsearch match in document selection = remember selected text as current search item prev = replace selection and find previous match next = replace selection and find next match all = replace all matches in current search range with-confirm = confirm or reject to replace every particular match selection = remember selected text as current replace item last-edit = jump to position of last change in this document line = jump to line with chosen number goto-prev-doc = go to the previous marker (upwards) in this document goto-next-doc = go to the next marker (downwards) in this document goto-prev-all = go to the previous marker here or in some previous document goto-next-all = go to the next marker here or in some next document toggle-here = set a marker in current line or delete if already present delete-doc = delete marker just in the current document delete-all = delete marker in all open documents 1 = go to bookmark number 1 2 = go to bookmark number 2 3 = go to bookmark number 3 4 = go to bookmark number 4 5 = go to bookmark number 5 6 = go to bookmark number 6 7 = go to bookmark number 7 8 = go to bookmark number 8 9 = go to bookmark number 9 0 = go to bookmark number 0 1 = set here or remove (if present) bookmark 1 2 = set here or remove (if present) bookmark 2 3 = set here or remove (if present) bookmark 3 4 = set here or remove (if present) bookmark 4 5 = set here or remove (if present) bookmark 5 6 = set here or remove (if present) bookmark 6 7 = set here or remove (if present) bookmark 7 8 = set here or remove (if present) bookmark 8 9 = set here or remove (if present) bookmark 9 0 = set here or remove (if present) bookmark 0 delete-doc = delete bookmarks in the current document delete-all = delete bookmarks in all documents note = jump to the notepad note-selection = paste selected text on the end of the notepad interpreter-run-document = run current programm and show result in output panel interpreter-stop-document = stop the current running output panel process inc = display the include paths of the Perl Interpreter in the ouput panel env = display the environment variables in the ouput panel selection-dec = display selected text in decimal coding in the ouput panel selection-hex = display selected text in hexadecimal coding in the ouput panel choose-color = display text selection as color and choose a new from a rainbow insert-time-date = insert at cursor current time and date insert-last-var = insert last Perl variable that began a line copy-string = copy surrounding single or double quoted string auto-indention = indents new line like previous when Enter pressed brace-indention = obey right indention after curly braces when press enter brace-completion = creates the closing brace when press enter after the opening auto = make all line endings like in first line cr+lf = line endings for Windows or Dos cr = convert line endings to the Mac standart lf = convert line endings to the UNIX standart back = switches to the last used document prev = changes the current document one tab to the left next = changes the current document one tab to the right ascii = converts document encoding into 8 Bit ASCII latin1 = converts document encoding into iso-8859-1 utf8 = converts document encoding into UTF-8 left = move current document in the tabbar one pos to the left right = move current document in the tabbar one pos to the right as-attr = turns write protection on if file is readonly on = disables every modification of this document off = makes document always editable even if it can't be saved auto = select syntaxmode depending on fileending none = turn any syntaxmode settings off ada = activate language settings for Ada as = activate settings for Macromedia Actionscript asm = language settings for Assembler ave = highlighting and settings for the Avennue language baan = language of the Baan ERP systems batch = Microsofts classic commandline batch control language c = settings for the C / C++ language family conf = for Apache Conf styled configuration files context = settings for the ConTeXt Tex Macros cs = syntaxmode for Microsoft C-Sharp css = syntaxmode for Cascading Style Sheet language diff = syntaxmode for patch files eiffel = Bertrand Meyers objectoriented language Eiffel err = syntaxmode for errorcode files forth = language of the Forth systems fortran = syntaxmode of the FORmula TRANslation language html = syntaxmode for the HyperText Markup Language idl = syntaxmode of the Interface Definition Language java = Settings for Sun's Java language js = syntaxmode for Javascript latex = syntaxmode for the LaTeX Tex macros lisp = LISt Prozessor settings lua = syntaxmode for the embedding language Lua make = highlighting for make tool scripts matlab = MATLAB scripting language nsis = language of the Nullsoft Scriptable Install System pascal = Niklaus Wirth's structured language Pascal perl = syntaxmode for Larry Walls Perl php = Rasmus Lehrdorf PHP Hypertext Prozessors property = highlighting for simple config files ps = Adobe's document desciption language Postscript python = Guido van Rossums dynamic language Python ruby = Yukihiro "Matz" Matsumoto's full objectoriented language scheme = syntaxmode of the MIT LISP dialect sh = settings for the UNIX Bourne Shell sql = Structured Query Language originated from IBM tcl = Tool Command Language from John Ousterhout tex = Donald E. Knuth macro language for type setting vb = settings for Microsoft Visual Basic vbs = settings for Microsoft Visual Basic Script xml = syntaxmode for the eXtensible Markup Language yaml = syntaxmode for Indy's YAML Ain't Markup Language hard = insert a tab while hitting the tab key soft = insert several whitespaces while hitting tab key use = use tabs (hard tabs) or whitespaces (soft tabs) 1 = set width of tabs to an equal of 1 characters 2 = set width of tabs to an equal of 2 characters 3 = set width of tabs to an equal of 3 characters 4 = set width of tabs to an equal of 4 characters 5 = set width of tabs to an equal of 5 characters 6 = set width of tabs to an equal of 6 characters 8 = set width of tabs to an equal of 8 characters config = display and change the program configuration find = open dialog for text search and settings replace = open dialog for find and replace text info = version numbers, authors, credits, license keymap = lists which key kombination triggers which function advanced-tour = introduction of unusual but practical features credits = list of all involved people feature-list = thematically sorted description of all functionalities navigation-guide = explanations of the user interface welcome = first steps: how to get help and give feedback this-version = new features and important changes of the current version custom = aktivate customizable editpanel context menu default = aktivate default scintilla context menu no = deaktivate all editpanel context menu EOL = switch visibility of the end of line marker brace-light = highlights associated pairs of braices caret-line = highlights row where caret(textcursor) is located indention-guide = vertical dotted lines in intervals of tab width right-margin = shows straight vertical line on seleted width whitespace = set whitespaces and tabs visible as dots and arrows all = fold or unfold all visible and not visible nodes here = fold or unfold only the node on selected position level = fold or unfold all nodes with same depth in hierarchy (amount of parents) recursively = fold or unfold this and all nodes below in hierarchy font = change font family, size, style etc. line-wrap = breaks long lines on window edge only visually contexmenu = enable or disable context menu over the margin, left of the edit panel marker = margin for bookmarks, marker, debug steps ... line-number = sets line numbers visible text-fold = switch Margin for the text folding icons 0 = set extra margin on both sides of textfield to 0 pixel 1 = set extra margin on both sides of textfield to 1 pixel 2 = set extra margin on both sides of textfield to 2 pixel 3 = set extra margin on both sides of textfield to 3 pixel 4 = set extra margin on both sides of textfield to 4 pixel 6 = set extra margin on both sides of textfield to 6 pixel 8 = set extra margin on both sides of textfield to 8 pixel 10 = set extra margin on both sides of textfield to 10 pixel 12 = set extra margin on both sides of textfield to 12 pixel maximize = toggle all panels and bars to enlarge the edit area in = make text appear larger normal = zoom text back to font settings out = make text appear smaller notepad = switch visibility of the Notepad panel output = switch visibility of the Output panel menubar = turn main menu on (visible) or off searchbar = toolbar with text seach and navigation functions searchbar-goto = goto searchbar and use find function searchbar-contexmenu = enable or disable context menus on searchbar statusbar = switch visibility of the statusbar on bottom of the window statusbar-contexmenu = enable or disable context menus on statusbar date = display change date of the current file in statusbar info field length = display size info of the current file in statusbar info field none = display nothing in statusbar info field tabbar = switch visibility of the tabbar, toolbar for doc selection tabbar-contexmenu = enable or disable context menus on tabbar toolbar = switch visibility of the main toolbar bug-tracker = please report any problem with the programm documentation = open online documentation with your default browser feature-wish = report a feature or design change wish forum = go to a perl web forum based on current language setting fullscreen = use maximum screen space stay-on-top = application window cant be overlapped by other windows transparent = make main window translucent app-lang = change user interface language to open = open file with current global configurations reload = reload current global configuration file load-from = load global configs from chosen file load-backup = load global configs from backup load-defaults = load default global configs merge = merge current global configs with settings in this file save = save current global configs into the file we load from save-as = save current global configs into this file commandlist = definition for function calls, key binding, icons menubar = open definition file for the menubar contextmenu = open definition file for all contextmenu toolbar = open default definition file for toolbars maintoolbar = open definition file for the main toolbar searchbar = open definition file for the searchbar statusbar = open definition file for the statusbar localisation = open translation file for language ada = open file with settings for the Ada language as = open file with Macromedia Actionscript settings asm = open file with language settings for Assembler ave = highlighting and settings for the Avennue language baan = language of the Baan ERP systems batch = Microsofts classic commandline batch control language c = open file with settings for the C / C++ languages conf = settings for files in the Apache Conf style context = settings for ConTeXt Tex Macros cs = open file with syntaxmode for Microsoft C-Sharp css = settings for the Cascading Style Sheet language diff = syntaxmode for patch files eiffel = Bertrand Meyers objectoriented language Eiffel err = syntaxmode for errorcode files forth = settings for the language of the Forth systems fortran = syntaxmode von FORmula TRANslation open html = syntaxmode for HyperText Markup Language open idl = syntaxmode der Interface Definition Language open java = open settings for Sun's Java language js = open syntaxmode for Javascript latex = open syntaxmode for the Tex macros named LaTeX lisp = open settings for the almighty LISt Prozessor lua = settings for the extension language Lua make = highlighting for make tool scripts matlab = MATLAB scripting language nsis = language of the Nullsoft Scriptable Install System pascal = settings for Niklaus Wirth's procedural language Pascal perl = file with syntaxmode for Larry Walls Perl php = Rasmus Lehrdorf PHP Hypertext Prozessor property = highlighting for simple config files ps = Adobe document description language Postscript python = Guido van Rossums dynamic language Python ruby = Yukihiro "Matz" Matsumoto's full object oriented Ruby scheme = open syntaxmode of the MIT LISP dialect Scheme sh = open settings for the UNIX Bourne Shell sql = Structured Query Language, originated from IBM tcl = Tool Command Language from John Ousterhout tex = Donald E. Knuth's macro language for typesetting vb = open file with settings for Microsoft Visual Basic vbs = open file with settings for Microsoft Visual Basic Script xml = open settings for die eXtensible Markup Language yaml = open settings for Indy's YAML Ain't Markup Language templates = open file with the current template definitions title = Global Settings general = General main_window = Main Window edit = Edit Panel files = Files load = load overall configuration from the file : save = store current program configuration into the file : goto_line_headline = goto line goto_line_input = choose linenumber : wrap_custom_headline = custom word wrapping wrap_width_input = choose new line width (maximum number of chars) : general = Error no_param = called without needed parameters file = file handling error file_find = can't find file : file_read = can't read file : file_write = can't write file : config_read = can't read config file : config_parse = file has no data : write_protected = This file is write protected by the file system. write_protected2 = Please unlock this or save this text under an other filename. files = Files open = Open File insert = Insert File rename = Rename File save_as = Save File As save_all = Save All save_none = Save None save_copy_as = Save A Copy Of This File As overwrite = Overwrite Existing File ! close_unsaved = Closing Unsafed File save_current = Save Current File ? save_open = Save All Open Files ? quit_unsaved = Closing Unsafed Files : open_session = Open File Session add_session = Add File Session save_session = Save Current File Session import_session = Import File Session export_session = Export File Session open_dir = Open Files of Directory : file_changed = File Changed file_changed_msg = The following file has changed : file_deleted = File Deleted file_deleted_msg = The following file can not be found anymore : apply = Apply save = Save save_reload = Save as ... and Reload overwrite = Overwrite restore = Restore reload = Reload ignore = Ignore cancel = Cancel close = Close all = All select = Select selected = Selected changed = Changed deleted = Deleted none = None dont_allow = Your settings dont allow this. title = Info about motto = Neter of software creation mady_by = by licensed = licensed under detail = see under help > license for credits and more = explicit licenses homepage = for more info visit contains = this version contains and = and wrappes = which wrappes extra = extra Perl Modules dedication = Deditcated to all people who ever tried to write an editor. title = Keyboard Map title = Find and Replace title = Replace With Confirmation text = Replace This ? match_case = differ between UPPER and lower case match_word_begin = match only beginnins of words match_whole_word = match only whole words match_regex = evaluates simple regular expression incremental = search as you type auto_wrap = jumpes between file endings forward = find next backward = find previous fast_forward = find fast forward fast_backward = find fast backward document_start = find first in document document_end = find last In document replace_forward = replace and find next replace_backward = replace and find previous back = Back esc = Esc enter = Enter del = Del left = Left right = Right up = Up down = Down pgup = Page Up pgdn = Page Down space = Space tab = Tab alt = Alt shift = Shift ctrl = Ctrl kephra-0.4.3.32+dfsg.orig/share/config/localisation/espanol.conf0000644000175000017500000013325611573645306023501 0ustar rizlarizla author = Enrique Nell language = espanol iso_code = es coding = UTF-8 purpose = global localisation version = 0.4.3.14 untitled = sin título cursor = Posición del símbolo de intercalación (cursor del texto) selection = Tamaño o posición de selección en porcentaje syntaxmode = Cambia el modo de sintaxis establecido actualmente codepage = Configuración de codificación tab = Alterna tabulaciones y espacios EOL = Permite ver o cambiar el carácter de fin de línea message = Campo de información; también puede mostrar información acerca del archivo actual exit = Cierra la aplicación y guarda la configuración y los archivos exit-unsaved = Cierra la aplicación sin guardar los archivos abiertos new = Abre un nuevo archivo de texto open = Muestra un archivo de texto existente como un documento nuevo open-dir = Abre todos los archivos de este directorio reload = Lee un archivo del disco duro y actualiza el mostrado reload-all = Vuelve a cargar todos los archivos abiertos rename = Cambia el nombre del archivo actual insert = Inserta el contenido del archivo en la posición del cursor current = Guarda el estado mostrado del archivo actual all = Guarda todos los archivos abiertos actualmente as = Guarda el documento actual con un nombre distinto copy-as = Guarda el documento con un nombre distinto y mantiene abierta la versión actual print = Imprime el documento actual current = Cierra el documento actual; según la configuración, se guarda el archivo all = Cierra todos los documentos abiertos other = Cierra todos los documentos abiertos menos el visible actualmente unsaved = Cierra el documento actual sin guardarlo all-unsaved = Cierra todos los documentos sin guardarlos other-unsaved = Cierra todos los documentos abiertos sin guardarlos, menos el visible actualmente open = Restaura una sesión de archivo guardada add = Agrega archivos de una sesión de archivo guardada save = Guarda el orden y las propiedades de esta sesión de archivo import = Abre una sesión de archivo con formato de otro editor export = Guarda una sesión de archivo con formato de otro editor backup-open = Restaura la sesión de copia de seguridad backup-save = Guarda los archivos actuales como sesión de copia de seguridad history-open-all = Restaura todos los archivos cerrados de la lista del historial undo = Deshace el último cambio realizado al documento actual redo = Vuelve a aplicar el último cambio deshecho undo-several = Retrocede varios pasos en el historial de edición redo-several = Avanza varios pasos en el historial de edición goto-begin = Restablece el estado anterior al primer cambio goto-end = Avanza al estado posterior al último cambio delete = Elimina el historial de cambios de edición cut = Corta el texto seleccionado y lo almacena en el portapapeles copy = Copia el texto seleccionado al portapapeles paste = Inserta texto desde el portapapeles replace = Reemplaza el texto seleccionado con el contenido del portapapeles delete = Elimina y descarta el texto seleccionado cut = Corta la línea actual y la almacena en el portapapeles copy = Copia la línea actual al portapapeles duplicate = Inserta debajo una copia de la línea actual replace = Reemplaza la línea actual con el contenido del portapapeles delete = Elimina y descarta la línea actual delete-left = Elimina lo que hay a la izquierda del cursor de texto en la línea actual delete-right = Elimina lo que hay a la derecha del cursor de texto en la línea actual line-up = Pasa la línea actual a la anterior line-down = Pasa la línea actual a la siguiente page-up = Retrocede la línea actual una página page-down = Avanza la línea actual una página uppercase = Convierte el texto seleccionado a mayúsculas lowercase = Convierte el texto seleccionado a minúsculas titlecase = Convierte a mayúscula el primer carácter de cada palabra sentencecase = Convierte a mayúscula el primer carácter de la frase spaces2tabs = Convierte grupos de espacios en tabulaciones tabs2spaces = Depende del ancho de tabulación actual spaces2entities = Convierte todos los espacios en &npsp; entities2spaces = Convierte &npsp; en espacios chars2entities = Convierte caracteres ISO 8859-1 en entidades HTML entities2chars = Convierte entidades HTML en caracteres ISO 8859-1 add-perl = Inserta \# a continuación de cada sangría del-perl = Elimina los caracteres \# que hay a continuación de la sangría toggle-perl = Marca como comentario todas las líneas no marcadas y viceversa add-c = Escribe la selección entre / * y * / del-c = Elimina todos los caracteres / * y * / de la selección add-xml = Escribe la selección entre del-xml = Elimina los caracteres de la selección align-on-begin = Alinea las sangrías de línea con la primera línea block-on-right-margin = Aplica formato al bloque de texto de forma que no invada el margen derecho block-on-width = Aplica al bloque de texto el ancho especificado... linewrap-on-right-margin = Interrumpe las líneas antes de que lleguen al margen derecho linewrap-on-width = Interrumpe las líneas según el ancho especificado... indent-char = Aumenta en un espacio la sangría de las líneas seleccionadas dedent-char = Reduce en un espacio la sangría de las líneas seleccionadas indent-tab = Aumenta la sangría una cantidad equivalente al ancho de tabulación dedent-tab = Reduce la sangría una cantidad equivalente al ancho de tabulación del-trailing-whitespace = Elimina el espacio en blanco del final de cada línea join-lines = Elimina los símbolos de fin de línea (EOL) char-left = Mueve la selección un carácter a la izquierda char-right = Mueve la selección un carácter a la derecha line-up = Sube la selección una línea line-down = Baja la selección una línea page-up = Sube la selección una página page-down = Baja la selección una página indent2spaces = Convierte tabulaciones entre el principio de línea y la primera palabra indent2tabs = Convierte espacios entre el principio de línea y la primera palabra spaces2tabs = Convierte todos los espacios en tabulaciones en el documento actual tabs2spaces = Convierte todas las tabulaciones en espacios en el documento actual del-trailing-whitespace = Elimina todo el espacio en blanco del final autowrap-switch = Ajuste automático incremental-switch = Búsqueda incremental regex-switch = Expresión regular case-switch = Coincidir mayúsculas y minúsculas whole-word-switch = Sólo palabras completas word-begin-switch = Principio de palabra selection = Busca y reemplaza sólo dentro del texto seleccionado document = Busca y reemplaza en todo el documento actual open-docs = Busca y reemplaza en todos los documentos abiertos document = Alles markieren toggle-simple = Umschalten toggle-content = Inhalt autowrap-switch = Springe zw. Enden incremental-switch = Inkrementelle Suche regex-switch = Reguläre Ausdrücke case-switch = Groß-/Kleinschreibung whole-word-switch = Nur Ganzes Wort word-begin-switch = Wortanfang selection = Markierung document = Dokument open-docs = Offene Dokumente prev = Suche Vorigen next = Suche Nächsten first = Suche Ersten last = Suche Letzen selection = Markierung Suchen prev = Ersetze Rückwärts next = Ersetze Vorwärts all = Ersetze Alles with-confirm = Bestätige Ersetzen selection = In Markierung Ersetzen last-edit = Zur letzten Bearbeitung line = Gehe Zu Zeile ... goto-prev-doc = Vorige Markierung im Dokument goto-next-doc = Nächste Markierung im Dokument goto-prev-all = Vorige Markierung goto-next-all = Nächste Markierung toggle-here = Markierung Umschalten delete-doc = Lösche im Dokument delete-all = Lösche Alle Markierungen 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 0 = O 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 0 = O delete-doc = Lösche Lesezeichen im Dokument delete-all = Lösche Alle Lesezeichen note = Notieren note-selection = Notiere Auswahl interpreter-run-document = Skript Starten interpreter-stop-document = Skript Stoppen inc = @INC env = %ENV selection-dec = Auswahl in Dezimal selection-hex = Auswahl in Hexadezimal choose-color = Farbauswahl insert-time-date = Zeit & Datum insert-last-var = Variable einfügen copy-string = Kopiere Zeichenkette auto-indention = Automatische Einrückung brace-indention = Klammereinrückung brace-completion = Klammervervollständigung auto = Angleichen cr+lf = CR+LF (Windows) cr = CR (Macintosh) lf = LF (Linux) back = Zurück prev = Voriges next = Nächtes ascii = ASCII latin1 = Latin 1 utf8 = UTF-8 left = Nach Links right = Nach Rechts as-attr = Nach Attribut on = an off = aus auto = nach Dateiendung none = keine ada = Ada as = Actionscript asm = Assembler ave = Avennue baan = Baan batch = Batch c = C | C++ conf = Conf context = Context cs = C\# css = CSS diff = Diff eiffel = Eiffel err = Errorlist forth = Forth fortran = FORTRAN 90 html = HTML idl = IDL java = Java js = Javascript latex = LaTeX lisp = LISP lua = Lua make = Makefile matlab = Matlab nsis = NSIS pascal = Pascal perl = Perl php = PHP property = Property ps = Postscript python = Python ruby = Ruby scheme = Scheme sh = UNIX Shell sql = SQL tcl = TCL tex = TeX vb = Visual Basic vbs = VB Script xml = XML yaml = YAML hard = Tabs (HT = hard tabs) soft = Leerzeichen (ST = soft tabs) use = Tabulatoren 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 8 = 8 config = Einstellungsdialog ... find = Suchdialog ... replace = Ersetzdialog ... info = Info ... keymap = Tastaturbelegung ... advanced-tour = Nützliches credits = Dank feature-list = Funktionsübersicht navigation-guide = Benutzeroberfläche welcome = Willkommen this-version = Diese Version custom = Benutzerdefiniert default = Standard no = Kein Menü EOL = Zeilenendzeichen brace-light = Klammerhervorhebung caret-line = Aktuelle Zeile indention-guide = Einrückmarkierung right-margin = Rechter Rand whitespace = Leerzeichen all = Alle here = Hier level = Level recursively = Rekursiv font = Schriftart line-wrap = Zeilenumbruch contexmenu = Linke Randleiste marker = Markerrand line-number = Zeilennummern text-fold = Faltrand 0 = 0 px 1 = 1 2 = 2 3 = 3 4 = 4 6 = 6 8 = 8 10 = 10 12 = 12 maximize = Maximale Editierfläche in = Vergrößern normal = Normal out = Verkleinern notepad = Notizablage output = Ausgabe menubar = Hauptmenü searchbar = Suchleiste searchbar-goto = Suchleiste searchbar-contexmenu = Suchleiste statusbar = Statuszeile statusbar-contexmenu = Statuszeile date = Änderungsdatum length = Dateigröße none = Nichts tabbar = Reiterleiste tabbar-contexmenu = Reiterleiste toolbar = Werkzeugleiste bug-tracker = Fehler Melden documentation = Netz Doku feature-wish = Wunsch Einreichen forum = Perlforum fullscreen = Vollbild stay-on-top = Im Vordergrund halten transparent = Transparent open = Öffnen reload = Neu Laden load-from = Laden Von ... load-backup = Sicherheitskopie Laden load-defaults = Voreinstellungen Laden merge = Zusammenführen ... save = Speichern save-as = Speichern Unter ... commandlist = Kommandoliste menubar = Hauptmenü contextmenu = Kontextmenüs toolbar = Werkzeugleisten maintoolbar = Werkzeugleiste searchbar = Suchleiste statusbar = Statuszeile ada = Ada as = Actionscript asm = Assembler ave = Avennue baan = Baan batch = Batch c = C / C++ conf = Conf context = Context cs = C\# css = CSS diff = Diff eiffel = Eiffel err = Errorlist forth = Forth fortran = FORTRAN 90 html = HTML idl = IDL java = Java js = Javascript latex = LaTeX lisp = LISP lua = Lua make = Makefile matlab = Matlab nsis = NSIS pascal = Pascal perl = Perl php = PHP property = Property ps = Postscript python = Python ruby = Ruby scheme = Scheme sh = UNIX Shell sql = SQL tcl = TCL tex = TeX vb = Visual Basic vbs = VB Script xml = XML yaml = YAML templates = Templates exit = beende Programm, speichere Einstellungen exit-unsaved = beende ohne die geöffneten Dateien zu speichern new = öffnet ein neues leeres Dokument open = lädt den Inhalt einer ausgewählten Datei open-dir = öffne alle Dateien eines Verzeichnisses reload = Datei erneut einlesen reload-all = alle offenen Dateien erneut einlesen rename = ändere Dateinamen des aktuellen Dokuments insert = füge Inhalt einer Datei am Textcursor ein current = speichert das aktuelle Dokument all = speichert alle offenen Dokumente as = speichert Datei unter anderem Namen copy-as = speichert ein Kopie unter anderem Namen print = drucke aktuelles Dokument current = schließe das aktuelle Dokument all = alle offenen Dokumente schließen other = schließt offene Dokumente, außer dem Aktuellen unsaved = schließt das aktuelle Dokument ohne es zu speichern all-unsaved = schließt alle Dokumente ohne sie zu speichern other-unsaved = schließt alle anderen Dokumente ohne sie zu speichern open = gespeicherte Dateigruppe wiederherstellen add = gespeicherte Dateigruppe hinzufügen save = Zusammenstellung der Dateien speichern import = Dateigruppe anderer Editoren importieren export = Dateigruppe in Format anderer Editoren exportieren backup-open = stellt die Backupgruppe wieder her backup-save = merkt sich offene Dateien als Backupgruppe history-open-all = stellt alle gelisteten Dateien wieder her undo = macht letzte Änderung im Dokument rückgängig redo = zuletzt rückgängig gemachte Änderung wiederholen undo-several = macht mehrere Änderungen rückgängig redo-several = wiederholt mehrere Änderungen goto-begin = stellt Zustand vor allen Änderungen wieder her goto-end = wiederholt alle gemachten Änderungen delete = löscht alle Aufzeichnungen über Änderungen cut = entfernt markierten Text und speichert ihn in der Zwischnablage copy = kopiert markierten Text in die Zwischenablage paste = fügt Inhalt der Zwischenablage in den Text ein replace = tauscht markierten Text mit der Zwischenablage delete = löscht markierten Text cut = entfernt aktuelle Zeile und speichert sie in der Zwischenablage copy = kopiert aktuelle Zeile in die Zwischenablage duplicate = fügt Kopie der aktuellen Zeile unterhalb ein replace = tauscht aktuelle Zeile mit der Zwischenablage delete = löscht aktuelle Zeile delete-left = löscht aktuelle Zeile, links des Textcursors delete-right = löscht aktuelle Zeile, rechts des Textcursors line-up = verschiebt aktuelle Zeile um eine Zeile nach oben line-down = verschiebt aktuelle Zeile um eine Zeile nach unten page-up = verschiebt aktuelle Zeile eine Bildschirmseite nach oben page-down = verschiebt aktuelle Zeile eine Bildschirmseite nach unten uppercase = markierten Text in Grossbuchstaben umwandeln lowercase = markierten Text in Kleinbuchstaben umwandeln titlecase = Wortanfänge zu Grossbuchstaben umwandeln sentencecase = Satzanfänge zu Grossbuchstaben umwandeln spaces2tabs = Leerzeichen in Tabs umwandeln tabs2spaces = Tabs zu Leerzeichen umwandeln spaces2entities = alle Leerzeichen zu   konvertieren entities2spaces = &npsp; zu Leerzeichen konvertieren chars2entities = Zeichen des ISO 8859-1 in HTML-Entitäten konvertieren entities2chars = HTML-Entitäten in ISO 8859-1-Zeichen umwandeln add-perl = fügt ein \# an jede Einrückung an del-perl = entfernt jedes \# nach Einrückung toggle-perl = kommentiert unkommentierte Zeilen und umgekehrt add-c = umschliesse Markierung mit / * und * / del-c = entferne jedes / * und * / in der Markierung add-xml = umschliesse Markierung mit del-xml = entferne jedes in der Markierung align-on-begin = Zeilen an der ersten markierten Zeile ausrichten block-on-right-margin = zu einem Block formatieren der rechten Rand einhält block-on-width = zu einem Block mit gewünschter Breite formatieren linewrap-on-right-margin = Zeilen am rechten Rand umbrechen linewrap-on-width = Zeilen ab einer bestimmten Breite umbrechen indent-char = markierte Zeile(n) um ein Leerzeichen einrücken dedent-char = markierte Zeile(n) um ein Leerzeichen ausrücken indent-tab = markierte Zeile(n) einen Tab weit einrücken dedent-tab = markierte Zeile(n) einen Tab weit ausrücken del-trailing-whitespace = löscht Leerzeichen am Ende der Zeile(n) join-lines = Zeilen zusammenführen char-left = bewegt markierten Text 1 Zeichen nach links char-right = bewegt markierten Text 1 Zeichen nach rechts line-up = bewegt markierten Text 1 Zeile nach oben line-down = bewegt markierten Text 1 Zeile nach unten page-up = bewegt markierten Text 1 Seite nach oben page-down = bewegt markierten Text 1 Seite nach unten indent2spaces = alle Zeileneinrückungen in Leerzeichen umwandeln indent2tabs = alle Zeileneinrückungen in Tabs umwandeln spaces2tabs = alle Leerzeichen im Dokument umwandeln zu Tabs tabs2spaces = alle Tabs im Dokument umwandeln zu Leerzeichen del-trailing-whitespace = löscht alle Leerzeichen an Zeilenenden autowrap-switch = Springe zwischen Enden incremental-switch = Inkrementelle Suche regex-switch = Reguläre Ausdrücke case-switch = Groß-/Kleinschreibung whole-word-switch = Nur Ganzes Wort word-begin-switch = Wortanfang selection = suchen und ersetzen nur in markiertem Text document = suchen und ersetzen im aktuellen Dokument open-docs = suchen und ersetzen in allen offenen Dokumenten prev = nächstes Vorkommen des Suchbegriffes vor Textcursor(Caret) next = nächstes Vorkommen des Suchbegriffes ab Textcursor(Caret) first = suche erstes Vorkommen des Suchbegriffes im Dokument last = suche letztes Vorkommen des Suchbegriffes im Dokument selection = speichere Markierung als neuen Suchbegriff prev = ersetze Markierung und suche gegen die Leserichtung next = ersetze Markierung und suche weiter in Leserichtung all = ersetze alle Vorkommen des Suchbegriffes im Suchbereich with-confirm = bestätige jede einzelne Ersetzung im Suchbereich selection = speichere Markierung als neuen Ersetzungsbegriff last-edit = springe zur Position der letzten Veränderung dieses Dokumentes line = springe zur Zeile mit angegeben Nummer goto-prev-doc = springt zur vorigen Markierung (nach oben) in diesem Dokument goto-next-doc = springt zur nächsten Markierung (nach unten) in diesem Dokument goto-prev-all = springt zur vorigen Markierung (nach oben), sucht in allen Dokumenten goto-next-all = springt zur nächsten Markierung (nach unten), sucht in allen Dokumenten toggle-here = setzt Markierung in aktueller Zeile oder lösche sie wenn vorhanden delete-doc = löscht alle Markierungen im aktuellen Dokument delete-all = löscht Markierungen in allen geöffneten Dokumenten 1 = springe zum Lesezeichen Nummer 1 2 = springe zum Lesezeichen Nummer 2 3 = springe zum Lesezeichen Nummer 3 4 = springe zum Lesezeichen Nummer 4 5 = springe zum Lesezeichen Nummer 5 6 = springe zum Lesezeichen Nummer 6 7 = springe zum Lesezeichen Nummer 7 8 = springe zum Lesezeichen Nummer 8 9 = springe zum Lesezeichen Nummer 9 0 = springe zum Lesezeichen Nummer 0 1 = setze hier oder lösche, wenn vorhanden Nr 1 2 = setze hier oder lösche, wenn vorhanden Nr 2 3 = setze hier oder lösche, wenn vorhanden Nr 3 4 = setze hier oder lösche, wenn vorhanden Nr 4 5 = setze hier oder lösche, wenn vorhanden Nr 5 6 = setze hier oder lösche, wenn vorhanden Nr 6 7 = setze hier oder lösche, wenn vorhanden Nr 7 8 = setze hier oder lösche, wenn vorhanden Nr 8 9 = setze hier oder lösche, wenn vorhanden Nr 9 0 = setze hier oder lösche, wenn vorhanden Nr 0 delete-doc = lösche alle Lesezeichen im aktuellen Dokument delete-all = lösche alle Lesezeichen in allen Dokumenten note = wechslt zum Notizblock note-selection = fügt Textauswahl im Notizblock ans dortige Textende an interpreter-run-document = startet aktuelles Programm und zeigt Ergebnis im Outputpanel interpreter-stop-document = stoppt Interpreterprozess des Ausgabepanels inc = zeigt die @INC-Pfade des Perlinterpreters im Ausgabefenster env = zeigt die Umgebungsvariablen des Perlinterpreters im Ausgabefenster selection-dec = git Textauswahl in dezimaler Kodierung aus selection-hex = git Textauswahl in hexadezimaler Kodierung aus choose-color = zeigt markierten Text als Farbe und ermöglicht neue Auswahl insert-time-date = fügt am cursor aktuelle Zeit und Datum ein insert-last-var = füge Perlvariable ein, mit der eine vorige Zeile im Block begann copy-string = kopiere umgebende, mit Anführungszeichen markierte Zeichenkette auto-indention = rückt bei Enter neue Zeilen wie vorige ein brace-indention = rückt nach einer geöffneten Klammer einen Tab weiter ein brace-completion = enter nach einer öffnenden Klammer erzeugt eine Schließende auto = Zeilenendformat der ersten Zeile annehmen cr+lf = Zeilenenden in den Windows-Standard umwandeln cr = Zeilenenden in den Apple-Standard umwandeln lf = Zeilenenden in den UNIX-Standard umwandeln back = springe zum letztbenutzten Dokument prev = wechsle zum Dokument mit der nächstniedrigen Nummer next = wechsle zum Dokument mit der nächsthöheren Nummer ascii = konvertiert Zeichensatz des Dokuments zu 8 Bit (ASCII) latin1 = konvertiert Zeichensatz des Dokuments zu iso-8859-1 utf8 = konvertiert Zeichensatz des Dokuments zu UTF-8 (Unicode) left = verschiebt aktuelles Dokument in der Reiterleiste eine Position nach links right = verschiebe aktuelles Dokument in der Reiterleiste eine Position nach rechts as-attr = aktiviert Schreibschutz wenn Datei nicht veränderbar ist on = aktiviert Schreibschutz unabhängig von Dateiattributen off = macht das Dokument immer änderbar auto = Syntaxmodus nach Dateiendung wählen none = Syntaxmodus abschalten ada = aktiviert Syntaxmodus für Ada as = aktiviert Syntaxmodus für Macromedia Actionscript asm = aktiviert Syntaxmodus für Assembler ave = aktiviert Syntaxmodus der Avennue-Sprache baan = aktiviert Syntaxmodus der Baan-ERP-Systeme batch = aktiviert Syntaxmodus für Stapelverarbeitung (batch) c = aktiviert Syntaxmodus für C / C++ Sprachen conf = aktiviert Syntaxmodus für Dateien im Apache Config Stil context = aktiviert Syntaxmodus für ConTeXt Macros cs = aktiviert Syntaxmodus für C-Sharp css = aktiviert Syntaxmodus für Cascading Style Sheets diff = aktiviert Syntaxmodus für patch-Dateien eiffel = aktiviert Syntaxmodus für Bertrand Meyer's objektorientierte Sprache Eiffel err = aktiviert Syntaxmodus für formatierte Fehlermeldungen forth = aktiviert Syntaxmodus für Forth Systeme fortran = aktiviert Syntaxmodus für FORmula TRANslation html = aktiviert Syntaxmodus für HyperText Markup Language idl = aktiviert Syntaxmodus der Interface Definition Language java = aktiviert Syntaxmodus für Sun's Java Sprache js = aktiviert Syntaxmodus für Javascript latex = aktiviert Syntaxmodus für LaTeX Tex Erweiterungen lisp = aktiviert Syntaxmodus für LISt Processor lua = aktiviert Syntaxmodus für die Erweiterungssprache Lua make = aktiviert Syntaxmodus für 'make' Regeldateien matlab = aktiviert Syntaxmodus des MATLAB-Paketes nsis = aktiviert Syntaxmodus für Nullsoft Scriptable Install System pascal = aktiviert Syntaxmodus für Niklaus Wirth's prozedurale Sprache Pascal perl = aktiviert Syntaxmodus für Larry Wall's Perl php = aktiviert Syntaxmodus PHP Hypertext Preprocessor property = aktiviert Syntaxmodus einfache für Konfigurationsdateien ps = aktiviert Syntaxmodus für Postscript python = aktiviert Syntaxmodus für Python ruby = aktiviert Syntaxmodus für Yukihiro "Matz" Matsumoto's objektorientiertes Ruby scheme = aktiviert Syntaxmodus des MIT LISP-Dialekt Scheme sh = aktiviert Syntaxmodus für die Bourne Again Shell sql = aktiviert Syntaxmodus für IBM Datenbanksprache Structured Query Language tcl = aktiviert Syntaxmodus für Tool Command Language von John Ousterhout tex = aktiviert Syntaxmodus für Donald E. Knuth's Macrosprache zur Textsetzung TeX vb = aktiviert Syntaxmodus für Microsoft Visual Basic vbs = aktiviert Syntaxmodus für Microsoft Visual Basic Script xml = aktiviert Syntaxmodus für die eXtensible Markup Language yaml = aktiviert Syntaxmodus für Indy's YAML Ain't Markup Language hard = fügt einen Tab ein wenn Tab-Taste gedrückt wird soft = fügt mehrere Leerzeichen statt eines Tabs ein use = benutzt Tabulatoren (hard tabs) oder Leerzeichen (soft tabs) 1 = Breite der Tabs entspreche 1 Buchstaben 2 = Breite der Tabs entspreche 2 Buchstaben 3 = Breite der Tabs entspreche 3 Buchstaben 4 = Breite der Tabs entspreche 4 Buchstaben 5 = Breite der Tabs entspreche 5 Buchstaben 6 = Breite der Tabs entspreche 6 Buchstaben 8 = Breite der Tabs entspreche 8 Buchstaben config = Programmeinstellungen anzeigen und verändern find = öffnet Dialog für Textsuche und Einstellungen replace = öffnet Dialog zum Suchen und Ersetzen von Text info = Versionsnummern, Komponenten, Beteiligte, Lizenzen keymap = Übersicht welche Tastenkombination welche Funktion auslöst advanced-tour = Einführung in nicht alltägliche aber praktische Funktionen credits = Liste aller Beteiligten Autoren feature-list = thematisch sortierte Beschreibung aller Funktionen navigation-guide = Erläuterungen zu den Bedienelementen welcome = wo man Hilfe bekommt und wie man Wünsche äußern kann this-version = Einführung zu neuen Funktionen und Änderungen custom = aktiviert anpassbare Editor-Kontextmenüs default = aktiviert standard Scintilla-Kontextmenüs no = deaktiviert alle Editor-Kontextmenüs EOL = Sicharkeit der Zeilenendzeichen (EOL) umschalten brace-light = hebt Paare zugehöriger Klammern hervor caret-line = hebt die Zeile hervor in der sich Textcursor befindet indention-guide = gepunktete Linien im Abstand der Tab-Breite right-margin = zeigt Begrenzungsinie an gewählter Position whitespace = macht Leerzeichen (Punkte) und Tabs (Pfeile) sichtbar all = faltet alle sichtbaren und unsichtbaren Knoten here = nur angewählten Knoten ein oder ausklappen level = faltet alle Knoten dieser Ebene (gleiche Tiefe in Knotenhierarchie) recursively = falten des angewählten Knotens und all seine Kinder font = Dialog für Schrift-Einstellungen line-wrap = bricht lange Zeilen am Fensterrand um (nur optisch) contexmenu = schaltet Kontextmenüs über dem linken Editorrand an oder aus marker = Rand für Lesezeichen, Marker, Debug-Stops ... line-number = Zeilennummern anzeigen/verbergen text-fold = Rand für Textfaltsymbole anzeigen/verbergen 0 = stelle Extrarand an beiden Seiten des Textfelds auf 0 pixel 1 = stelle Extrarand an beiden Seiten des Textfelds auf 1 pixel 2 = stelle Extrarand an beiden Seiten des Textfelds auf 2 pixel 3 = stelle Extrarand an beiden Seiten des Textfelds auf 3 pixel 4 = stelle Extrarand an beiden Seiten des Textfelds auf 4 pixel 6 = stelle Extrarand an beiden Seiten des Textfelds auf 6 pixel 8 = stelle Extrarand an beiden Seiten des Textfelds auf 8 pixel 10 = stelle Extrarand an beiden Seiten des Textfelds auf 10 pixel 12 = stelle Extrarand an beiden Seiten des Textfelds auf 12 pixel maximize = schließt alle Panel und Leisten um mehr Editierfläche zu erhalten in = vergrößert visuell die Schrift normal = setztt visuelle Schriftgröße auf normal out = verkleinert visuell die Schrift notepad = Notepadpanel anzeigen/verbergen output = Ausgabepanel anzeigen/verbergen menubar = Hauptmenü anzeigen/verbergen searchbar = Werkzeugleiste mit Such- und Navigationsfunktionen searchbar-goto = benutzt Suchfunktion in Suchzeile searchbar-contexmenu = schaltet Kontextmenü der Suchzeile an oder aus statusbar = Statuszeile am Boden des Programmfensters statusbar-contexmenu = schaltet Kontextmenüs der Statuszeile an oder aus date = zeigt Datum der letzten Dateiänderung im Infofeld an length = zeigt Informationen über die Dateigröße im Infofeld an none = zeige gar nichts im Infofeld der Statuszeile an tabbar = die Reiterleiste ermöglicht Auswahl des aktuellen Dokuments durch Tabs tabbar-contexmenu = schaltt Kontextmenü der Reiterleiste an oder aus toolbar = Haupt-Werkzeugleiste zum Bearbeiten der Dokumente bug-tracker = Bitte jeden Programmfehler auf dieser Netzseite berichten documentation = öffnet die Dokumentation mit dem Standardbrowser feature-wish = öffnet die Seite für Benutzerwünsche forum = öffnet die Seite eines Perlforums, passend zur eingestellten Sprache fullscreen = vergrößert das Hauptfenster auf das Maximimum stay-on-top = andere Programme können das Hauptfenster nicht mehr verdecken transparent = macht das Hauptfenster transparent app-lang = wechselt die Spracheinstellung des Programms open = öffnet Datei mit aktuellen globalen Einstellungen reload = lädt die globalen Einstellungen neu load-from = lädt globale Einstellungen von gewählter Datei load-backup = lädt Sicherheitskopie globaler Einstellungen load-defaults = lädt die Voreinstellungen merge = führt globale Einstellungen mit dem Inhalt einer Datei zusammen save = aktuelle globale Einstellungen speichern save-as = aktuelle globale Einstellungen in gewählter Datei speichern commandlist = Definition der Befehle, Tastenkürzel, Icons menubar = öffnet Definitionsdatei des Hauptmenüs contextmenu = öffnet Definitionsdatei der Kontextmenüs toolbar = öffnet Standard-Definitionsdatei aller Werkzeugleisten maintoolbar = öffnet Definitionsdatei der Werkzeugleiste searchbar = öffnet Definitionsdatei der Suchleiste statusbar = öffnet Definitionsdatei der Statuszeile localisation = öffne Übersetzungsdatei des Programmes für ada = öffnet Datei mit Spracheinstellungen für Ada as = öffnet Datei mit Spracheinstellungen für Macromedia Actionscript asm = öffnet Datei mit Spracheinstellungen für Assembler ave = öffnet Datei mit Spracheinstellungen der Avennue-Sprache baan = öffnet Datei mit Spracheinstellungen der Baan-ERP-Systeme batch = öffnet Datei mit Spracheinstellungen für Stapelverarbeitung c = öffnet Datei mit Spracheinstellungen für C/C++ conf = öffnet Spracheinstellungen für Dateien im Apache Config Stil context = öffnet Datei mit Spracheinstellungen für ConTeXt Tex Macros cs = öffnet Datei mit Spracheinstellungen für Microsoft C-Sharp css = öffnet Datei mit Spracheinstellungen für Cascading Style Sheet diff = öffnet Spracheinstellungen für patch-Dateien eiffel = öffnet Datei mit Spracheinstellungen für Eiffel err = öffnet Datei mit Spracheinstellungen für formatierte Fehlermeldungen forth = öffnet Datei mit Spracheinstellungen der Forth Systeme fortran = öffnet Datei mit Spracheinstellungen für FORmula TRANslation html = öffnet Datei mit Spracheinstellungen für HyperText Markup Language idl = öffnet Datei mit Spracheinstellungen der Interface Definition Language java = öffnet Datei mit Spracheinstellungen für Sun's Java js = öffnet Datei mit Spracheinstellungen für Javascript latex = öffnet Datei mit Spracheinstellungen für LaTeX Tex Erweiterungen lisp = öffnet Datei mit Spracheinstellungen für LISt Prozessor Einstellungen lua = öffnet Datei mit Spracheinstellungenn für die Erweiterungssprache Lua make = öffnet Datei mit Spracheinstellungen für make-Dateien matlab = öffnet Datei mit Spracheinstellungen des MATLAB-Paketes nsis = öffnet Datei mit Spracheinstellungen des Nullsoft Scriptable Install Systems pascal = öffnet Datei mit Spracheinstellungen für Pascal perl = öffnet Datei mit Spracheinstellungen für Larry Wall's Perl php = öffnet Datei mit Spracheinstellungen für PHP Hypertext Prozessors property = öffnet Datei mit Spracheinstellungen für einfache Konfigurationsdateien ps = öffnet Datei mit Spracheinstellungen für Postscript python = öffnet Datei mit Spracheinstellungen für Python ruby = öffnet Datei mit Spracheinstellungen für Ruby scheme = öffnet Datei mit Spracheinstellungen des MIT LISP-Dialekts Scheme sh = öffnet Datei mit Spracheinstellungen für die UNIX Bourne Again Shell sql = öffnet Datei mit Spracheinstellungen der Structured Query Language tcl = öffnet Datei mit Spracheinstellungen der Tool Command Language tex = öffnet Datei mit Spracheinstellungen der Macrosprache zur Textsetzung TeX vb = öffnet Datei mit Spracheinstellungen für Microsoft Visual Basic vbs = öffnet Datei mit Spracheinstellungen für Microsoft Visual Basic Script xml = öffnet Datei mit Spracheinstellungen für die eXtensible Markup Language yaml = öffnet Datei mit Spracheinstellungen für Indy's YAML Ain't Markup Language templates = öffnet Datei mit den aktuellen Template Definitionen title = Globale Einstellungen general = Allgemein main_window = Hauptfenster edit = Editfeld files = Dateien load = Konfiguration aus Datei laden : save = Aktuelle Konfiguration in Datei speichern : goto_line_headline = Gehe zu Zeile goto_line_input = bitte Zeilennummer eingeben : wrap_custom_headline = Zeilen auf neue Breite formatieren wrap_width_input = neue Zeilenbreite wählen (maximale Anzahl von Zeichen) : general = Fehler no_param = Ohne benötigte Parameter aufgerufen file = Datei Problem file_find = Kann die Datei nicht finden : file_read = Kann die Datei nicht öffnen : file_write = Kann die Datei nicht schreiben : config_read = Kann Konfigurationsdatei nicht auslesen : config_parse = Datei enthält keine Daten : write_protected = Diese Datei ist vom Betriebsystem schreibgeschützt. write_protected2 = Bitte Schreibschutz aufheben oder unter anderem Namen speichern. files = Dateien open = Datei öffnen insert = Datei einfügen rename = Datei umbenennen save_as = Speichern unter ... save_all = Alle Speichern save_none = Keine Speichern save_copy_as = Kopie speichern unter ... overwrite = Überschreiben Vorhandener Datei ! close_unsaved = Schließe Ungespeicherte Datei save_current = Speichere aktuelle Datei ? save_open = Speichere alle offenen Dateien ? quit_unsaved = Schliesse Ungespeicherte Dateien : open_session = Öffne Dateigruppe add_session = Füge Dateigruppe Hinzu save_session = Dateigruppe Speichern import_session = Importiere Dateigruppe export_session = Exportiere Dateigruppe open_dir = Öffne Dateien in Verzeichnis : file_changed = Dateiänderung file_changed_msg = Die folgende Datei hat sich geändert : file_deleted = Datei Gelöscht file_deleted_msg = Die folgende Datei ist unauffindbar : apply = Übernehmen save = Speichern save_reload = Speichern und neu Laden overwrite = Überschreiben restore = Wiederherstellen reload = Neu Laden ignore = Ignorieren cancel = Abbrechen close = Schließen all = Alle select = Wähle selected = Auswahl changed = Geändert deleted = Gelöscht none = Keine dont_allow = Deine Einstellungen erlauben das nicht. title = Info Dialog motto = Neter of software creation mady_by = von licensed = lizensiert unter der detail = siehe auch unter Hilfe > Lizensen für Dank und more = vollständiger Lizenstext homepage = für mehr Informationen siehe contains = die Version beinhaltet and = und wrappes = die Anbindung ist für extra = extra Perl Module dedication = All denen gewidmet, die jemals versucht haben einen Editor zu schreiben. title = Tastaturbelegung title = Suchen und Ersetzen title = Ersetzen Mit Bestätigung text = Dieses Ersetzen ? match_case = beachte beim Suchen Groß/Kleinschreibung match_word_begin = Suchbegriff ist Anfang eines Wortes match_whole_word = Begriff nur als ganzes Wort suchen match_regex = einfache reguläre Audrücke anwenden incremental = sucht während der eingabe auto_wrap = springt zum Anfang wenn nichts mehr gefunden wurde forward = suche nächsten backward = suche vorigen fast_forward = schnelle Suche vorwärts fast_backward = schnelle Suche rückwärts document_start = suche am Dokument-Anfang document_end = suche am Dokument-Ende replace_forward = ersetzen und vorwärts suchen replace_backward = ersetzen und rückwärts suchen back = Rück esc = Esc enter = Enter del = Entf left = Links right = Rechts up = Hoch down = Runter pgup = Bild Hoch pgdn = Bild Runter space = Leertaste tab = Tab alt = Alt shift = Shift ctrl = Strg kephra-0.4.3.32+dfsg.orig/share/config/plugin/0000755000175000017500000000000011633700043017757 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/plugin/installed.conf0000644000175000017500000000000011573645307022611 0ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/macro/0000755000175000017500000000000011633700043017562 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/macro/test.macro0000644000175000017500000000000011573645306021567 0ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/0000755000175000017500000000000011633700043022226 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/vbs.pm0000644000175000017500000000524611573645307023403 0ustar rizlarizlapackage syntaxhighlighter::vbs; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_VB wxSTC_H_TAG); my $vb_keywords = 'and begin case call continue do each else elseif end erase error event exit false for function get gosub goto if implement in load loop lset me mid new next not nothing on or property raiseevent rem resume return rset select set stop sub then to true unload until wend while with withevents attribute alias as boolean byref byte byval const compare currency date declare dim double enum explicit friend global integer let lib long module object option optional preserve private property public redim single static string type variant'; my $vbnet_keywords = 'addhandler addressof andalso alias and ansi as assembly auto boolean byref byte byval call case catch cbool cbyte cchar cdate cdec cdbl char cint class clng cobj const cshort csng cstr ctype date decimal declare default delegate dim do double each else elseif end enum erase error event exit false finally for friend function get gettype goto handles if implements imports in inherits integer interface is let lib like long loop me mod module mustinherit mustoverride mybase myclass namespace new next not nothing notinheritable notoverridable object on option optional or orelse overloads overridable overrides paramarray preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared short single static step stop string structure sub synclock then throw to true try typeof unicode until variant when while with withevents writeonly xor'; # Not used here, mostly system statements (files, registry, I/O...), # I am not sure I should include them in the regular statements. my $vb_otherstatements = 'appactivate beep chdir chdrive close deletesetting filecopy get input kill line lock unlock lset mid mkdir name open print put randomize reset rmdir rset savepicture savesetting seek sendkeys setattr time unload width write'; $_[0]->SetLexer( wxSTC_LEX_VB ); # Set Lexers to use $_[0]->SetKeyWords(0,$vb_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace $_[0]->StyleSetSpec( 1,"fore:#777777"); # Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#888820"); # Keyword $_[0]->StyleSetSpec( 4,"fore:#202020"); # String $_[0]->StyleSetSpec( 5,"fore:#208820"); # Preprocessor $_[0]->StyleSetSpec( 6,"fore:#882020"); # Operator $_[0]->StyleSetSpec( 7,"fore:#202020"); # Identifier $_[0]->StyleSetSpec( 8,"fore:#209999"); # Date } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/cs.pm0000644000175000017500000000426411573645307023215 0ustar rizlarizlapackage syntaxhighlighter::cs; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $cs_keywords = 'bstract as base bool break byte case catch char checked class \ const continue decimal default delegate do double else enum \ event explicit extern false finally fixed float for foreach goto if \ implicit in int interface internal is lock long namespace new null \ object operator out override params private protected public \ readonly ref return sbyte sealed short sizeof stackalloc static \ string struct switch this throw true try typeof uint ulong \ unchecked unsafe ushort using virtual void while'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$cs_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/baan.pm0000644000175000017500000000165411573645307023511 0ustar rizlarizlapackage syntaxhighlighter::baan; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_BAAN); sub load { $_[0]->SetLexer( wxSTC_LEX_BAAN ); $_[0]->SetKeyWords(0,''); $_[0]->StyleSetSpec( 0,"fore:#808080"); # White space $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec( 2,"fore:#aaaaaa,back:#E0C0E0");# Doc comment $_[0]->StyleSetSpec( 3,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 4,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 5,"fore:#ee7b00,back:#fff8f8");# Double quoted string $_[0]->StyleSetSpec( 6,"fore:#800080"); # Preprocessor $_[0]->StyleSetSpec( 7,"fore:#B06000"); # Operators $_[0]->StyleSetSpec( 8,"fore:#000077"); # Identifiers $_[0]->StyleSetSpec( 9,"fore:#000000,back:#E0C0E0,eolfilled");# End of line where string is not closed $_[0]->StyleSetSpec(10,"fore:#B00040"); # Operator: * ? < > | $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/tcl.pm0000644000175000017500000001077511573645307023376 0ustar rizlarizlapackage syntaxhighlighter::tcl; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_TCL wxSTC_H_TAG); my $TclKeywords = 'after append array auto_execok auto_import auto_load \ auto_load_index auto_qualify beep binary break case catch cd clock \ close concat continue dde default echo else elseif encoding eof \ error eval exec exit expr fblocked fconfigure fcopy file \ fileevent flush for foreach format gets glob global history if \ incr info interp join lappend lindex linsert list llength load \ lrange lreplace lsearch lsort namespace open package pid \ pkg_mkIndex proc puts pwd read regexp regsub rename resource \ return scan seek set socket source split string subst switch \ tclLog tclMacPkgSearch tclPkgSetup tclPkgUnknown tell time \ trace unknown unset update uplevel upvar variable vwait while'; my $TkKeywordclass = 'bell bind bindtags button canvas checkbutton console \ destroy entry event focus font frame grab grid image label listbox menu \ menubutton message pack place radiobutton raise scale scrollbar \ text tk tkwait toplevel winfo wm'; my $ItclKeywordclass = "@scope body class code common component configbody \ constructor define destructor hull import inherit itcl itk itk_component \ itk_initialize itk_interior itk_option iwidgets keep method \ private protected public"; my $TkCommands = "tkButtonDown tkButtonEnter tkButtonInvoke \ tkButtonLeave tkButtonUp tkCancelRepeat tkCheckRadioInvoke tkDarken \ tkEntryAutoScan tkEntryBackspace tkEntryButton1 tkEntryClosestGap \ tkEntryInsert tkEntryKeySelect tkEntryMouseSelect tkEntryNextWord \ tkEntryPaste tkEntryPreviousWord tkEntrySeeInsert tkEntrySetCursor \ tkEntryTranspose tkEventMotifBindings tkFDGetFileTypes tkFirstMenu \ tkFocusGroup_Destroy tkFocusGroup_In tkFocusGroup_Out tkFocusOK \ tkListboxAutoScan tkListboxBeginExtend tkListboxBeginSelect \ tkListboxBeginToggle tkListboxCancel tkListboxDataExtend \ tkListboxExtendUpDown tkListboxMotion tkListboxSelectAll \ tkListboxUpDown tkMbButtonUp tkMbEnter tkMbLeave tkMbMotion \ tkMbPost tkMenuButtonDown tkMenuDownArrow tkMenuDup tkMenuEscape \ tkMenuFind tkMenuFindName tkMenuFirstEntry tkMenuInvoke tkMenuLeave \ tkMenuLeftArrow tkMenuMotion tkMenuNextEntry tkMenuNextMenu \ tkMenuRightArrow tkMenuUnpost tkMenuUpArrow tkMessageBox \ tkPostOverPoint tkRecolorTree tkRestoreOldGrab tkSaveGrabInfo \ tkScaleActivate tkScaleButton2Down tkScaleButtonDown \ tkScaleControlPress tkScaleDrag tkScaleEndDrag tkScaleIncrement \ tkScreenChanged tkScrollButton2Down tkScrollButtonDown \ tkScrollButtonUp tkScrollByPages tkScrollByUnits tkScrollDrag \ tkScrollEndDrag tkScrollSelect tkScrollStartDrag tkScrollToPos \ tkScrollTopBottom tkTabToWindow tkTearOffMenu tkTextAutoScan \ tkTextButton1 tkTextClosestGap tkTextInsert tkTextKeyExtend \ tkTextKeySelect tkTextNextPara tkTextNextPos tkTextNextWord \ tkTextPaste tkTextPrevPara tkTextPrevPos tkTextResetAnchor \ tkTextScrollPages tkTextSelectTo tkTextSetCursor tkTextTranspose \ tkTextUpDownLine tkTraverseToMenu tkTraverseWithinMenu tk_bisque \ tk_chooseColor tk_dialog tk_focusFollowsMouse tk_focusNext \ tk_focusPrev tk_getOpenFile tk_getSaveFile tk_messageBox \ tk_optionMenu tk_popup tk_setPalette tk_textCopy tk_textCut \ tk_textPaste"; $_[0]->SetLexer( wxSTC_LEX_TCL ); # Set Lexers to use $_[0]->SetKeyWords(0, $TclKeywords); #.$TkKeywordclass.$ItclKeywordclass.$TkCommands # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace (SCE_CONF_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#777777"); # Comment (SCE_CONF_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#3350ff"); # Number (SCE_CONF_NUMBER) $_[0]->StyleSetSpec( 3,"fore:#888820"); # String $_[0]->StyleSetSpec( 4,"fore:#202020"); # Single quoted string $_[0]->StyleSetSpec( 5,"fore:#208820"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#882020"); # Triple quotes $_[0]->StyleSetSpec( 7,"fore:#202020"); # Triple double quotes $_[0]->StyleSetSpec( 8,"fore:#209999"); # Class name definition $_[0]->StyleSetSpec( 9,"fore:#202020"); # Function or method name definition $_[0]->StyleSetSpec(10,"fore:#000000"); # Operators $_[0]->StyleSetSpec(11,"fore:#777777"); # Identifiers $_[0]->StyleSetSpec(12,"fore:#7f7f7f"); # Comment-blocks $_[0]->StyleSetSpec(13,"fore:#000000,back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec(34,"fore:#0000ff"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#ff0000"); # Matched Operators } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/latex.pm0000644000175000017500000001755111573645307023730 0ustar rizlarizlapackage syntaxhighlighter::latex; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_TEX wxSTC_H_TAG); my $tex_primitives = 'above abovedisplayshortskip abovedisplayskip abovewithdelims accent adjdemerits advance afterassignment aftergroup atop atopwithdelims badness baselineskip batchmode begingroup belowdisplayshortskip belowdisplayskip binoppenalty botmark box boxmaxdepth brokenpenalty catcode char chardef cleaders closein closeout clubpenalty copy count countdef cr crcr csname day deadcycles def defaulthyphenchar defaultskewchar delcode delimiter delimiterfactor delimeters delimitershortfall delimeters dimen dimendef discretionary displayindent displaylimits displaystyle displaywidowpenalty displaywidth divide doublehyphendemerits dp dump edef else emergencystretch end endcsname endgroup endinput endlinechar eqno errhelp errmessage errorcontextlines errorstopmode escapechar everycr everydisplay everyhbox everyjob everymath everypar everyvbox exhyphenpenalty expandafter fam fi finalhyphendemerits firstmark floatingpenalty font fontdimen fontname futurelet gdef global group globaldefs halign hangafter hangindent hbadness hbox hfil horizontal hfill horizontal hfilneg hfuzz hoffset holdinginserts hrule hsize hskip hss horizontal ht hyphenation hyphenchar hyphenpenalty hyphen if ifcase ifcat ifdim ifeof iffalse ifhbox ifhmode ifinner ifmmode ifnum ifodd iftrue ifvbox ifvmode ifvoid ifx ignorespaces immediate indent input inputlineno input insert insertpenalties interlinepenalty jobname kern language lastbox lastkern lastpenalty lastskip lccode leaders left lefthyphenmin leftskip leqno let limits linepenalty line lineskip lineskiplimit long looseness lower lowercase mag mark mathaccent mathbin mathchar mathchardef mathchoice mathclose mathcode mathinner mathop mathopen mathord mathpunct mathrel mathsurround maxdeadcycles maxdepth meaning medmuskip message mkern month moveleft moveright mskip multiply muskip muskipdef newlinechar noalign noboundary noexpand noindent nolimits nonscript scriptscript nonstopmode nulldelimiterspace nullfont number omit openin openout or outer output outputpenalty over overfullrule overline overwithdelims pagedepth pagefilllstretch pagefillstretch pagefilstretch pagegoal pageshrink pagestretch pagetotal par parfillskip parindent parshape parskip patterns pausing penalty postdisplaypenalty predisplaypenalty predisplaysize pretolerance prevdepth prevgraf radical raise read relax relpenalty right righthyphenmin rightskip romannumeral scriptfont scriptscriptfont scriptscriptstyle scriptspace scriptstyle scrollmode setbox setlanguage sfcode shipout show showbox showboxbreadth showboxdepth showlists showthe skewchar skip skipdef spacefactor spaceskip span special splitbotmark splitfirstmark splitmaxdepth splittopskip string tabskip textfont textstyle the thickmuskip thinmuskip time toks toksdef tolerance topmark topskip tracingcommands tracinglostchars tracingmacros tracingonline tracingoutput tracingpages tracingparagraphs tracingrestores tracingstats uccode uchyph underline unhbox unhcopy unkern unpenalty unskip unvbox unvcopy uppercase vadjust valign vbadness vbox vcenter vfil vfill vfilneg vfuzz voffset vrule vsize vskip vsplit vss vtop wd widowpenalty write xdef xleaders xspaceskip year'; my $etex_primitives = 'beginL beginR botmarks clubpenalties currentgrouplevel currentgrouptype currentifbranch currentiflevel currentiftype detokenize dimexpr displaywidowpenalties endL endR eTeXrevision eTeXversion everyeof firstmarks fontchardp fontcharht fontcharic fontcharwd glueexpr glueshrink glueshrinkorder gluestretch gluestretchorder gluetomu ifcsname ifdefined iffontchar interactionmode interactionmode interlinepenalties lastlinefit lastnodetype marks topmarks middle muexpr mutoglue numexpr pagediscards parshapedimen parshapeindent parshapelength predisplaydirection savinghyphcodes savingvdiscards scantokens showgroups showifs showtokens splitdiscards splitfirstmarks TeXXeTstate tracingassigns tracinggroups tracingifs tracingnesting tracingscantokens unexpanded unless widowpenalties'; my $pdftex_primitives = 'pdfadjustspacing pdfannot pdfavoidoverfull pdfcatalog pdfcompresslevel pdfdecimaldigits pdfdest pdfdestmargin pdfendlink pdfendthread pdffontattr pdffontexpand pdffontname pdffontobjnum pdffontsize pdfhorigin pdfimageresolution pdfincludechars pdfinfo pdflastannot pdflastdemerits pdflastobj pdflastvbreakpenalty pdflastxform pdflastximage pdflastximagepages pdflastxpos pdflastypos pdflinesnapx pdflinesnapy pdflinkmargin pdfliteral pdfmapfile pdfmaxpenalty pdfminpenalty pdfmovechars pdfnames pdfobj pdfoptionpdfminorversion pdfoutline pdfoutput pdfpageattr pdfpageheight pdfpageresources pdfpagesattr pdfpagewidth pdfpkresolution pdfprotrudechars pdfrefobj pdfrefxform pdfrefximage pdfsavepos pdfsnaprefpoint pdfsnapx pdfsnapy pdfstartlink pdfstartthread pdftexrevision pdftexversion pdfthread pdfthreadmargin pdfuniqueresname pdfvorigin pdfxform pdfximage'; my $omega_primitives = 'odelimiter omathaccent omathchar oradical omathchardef omathcode odelcode leftghost rightghost charwd charht chardp charit localleftbox localrightbox localinterlinepenalty localbrokenpenalty pagedir bodydir pardir textdir mathdir boxdir nextfakemath pagewidth pageheight pagerightoffset pagebottomoffset nullocp nullocplist ocp externalocp ocplist pushocplist popocplist clearocplists ocptracelevel addbeforeocplist addafterocplist removebeforeocplist removeafterocplist OmegaVersion InputTranslation OutputTranslation DefaultInputTranslation DefaultOutputTranslation noInputTranslation noOutputTranslation InputMode OutputMode DefaultInputMode DefaultOutputMode noInputMode noOutputMode noDefaultInputMode noDefaultOutputMode'; # only the macros that make sense: my $partial_tex_macros = 'TeX bgroup egroup endgraf space empty null newcount newdimen newskip newmuskip newbox newtoks newhelp newread newwrite newfam newlanguage newinsert newif maxdimen magstephalf magstep frenchspacing nonfrenchspacing normalbaselines obeylines obeyspaces raggedright ttraggedright thinspace negthinspace enspace enskip quad qquad smallskip medskip bigskip removelastskip topglue vglue hglue break nobreak allowbreak filbreak goodbreak smallbreak medbreak bigbreak line leftline rightline centerline rlap llap underbar strutbox strut cases matrix pmatrix bordermatrix eqalign displaylines eqalignno leqalignno pageno folio tracingall showhyphens fmtname fmtversion hphantom vphantom phantom smash'; my $partial_etex_macros = 'eTeX newmarks grouptype interactionmode nodetype iftype tracingall loggingall tracingnone'; $_[0]->SetLexer(wxSTC_LEX_TEX); # Set Lexers to use $_[0]->SetKeyWords(0,$tex_primitives.$partial_tex_macros); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # Default $_[0]->StyleSetSpec(1,"fore:#007f7f"); # Special $_[0]->StyleSetSpec(2,"fore:#7f0000)"); # Group $_[0]->StyleSetSpec(3,"fore:#7f7f00"); # Symbol $_[0]->StyleSetSpec(4,"fore:#007f00"); # Command $_[0]->StyleSetSpec(5,"fore:#000000"); # Text $_[0]->StyleSetSpec(34,"fore:#00007f"); # Identifiers $_[0]->StyleSetSpec(35,"fore:#7f007f"); # Identifiers } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/as.pm0000644000175000017500000000374311573645307023214 0ustar rizlarizlapackage syntaxhighlighter::as; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $cs_keywords = 'add and break case class continue default delete \ dynamic else eq extends false for function ge get gt if implements import in \ instanceof interface intrinsic le lt ne new not null on or private public \ return set static switch super this true typeof undefined var void while with'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$cs_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/batch.pm0000644000175000017500000000204311573645307023662 0ustar rizlarizlapackage syntaxhighlighter::batch; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_BATCH); sub load{ $_[0]->SetLexer( wxSTC_LEX_BATCH ); $_[0]->SetKeyWords(0,'rem set if exist errorlevel for in do \ break call chcp cd chdir choice cls country ctty date del erase dir echo \ exit goto loadfix loadhigh mkdir md move path pause prompt rename ren \ rmdir rd shift time type ver verify vol \ com con lpt nul \ color copy defined else not start'); $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment (rem or ::) $_[0]->StyleSetSpec( 2,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec( 3,"fore:#ee7b00"); # Label (line beginning with ':') $_[0]->StyleSetSpec( 4,"fore:#7F007F"); # Hide command character ('@') $_[0]->StyleSetSpec( 5,"fore:#007090,bold"); # External commands $_[0]->StyleSetSpec( 6,"fore:#800080"); # Variable: %%x (x is almost whatever, except space and %), %n (n in [0-9]), %EnvironmentVar% $_[0]->StyleSetSpec( 7,"fore:#000000"); # Operator: * ? < > | } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/js.pm0000644000175000017500000000400511573645307023215 0ustar rizlarizlapackage syntaxhighlighter::js; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $js_keywords = 'abstract boolean break byte case catch char class \ const continue debugger default delete do double else enum export extends \ final finally float for function goto if implements import in instanceof \ int interface long native new package private protected public \ return short static super switch synchronized this throw throws \ transient try typeof var void volatile while with'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$js_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/sql.pm0000644000175000017500000000673411573645307023413 0ustar rizlarizlapackage syntaxhighlighter::sql; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_SQL wxSTC_H_TAG); my $sql_keywords = 'absolute action add admin after aggregate \ alias all allocate alter and any are array as asc \ assertion at authorization \ before begin binary bit blob boolean both breadth by \ call cascade cascaded case cast catalog char character \ check class clob close collate collation column commit \ completion connect connection constraint constraints \ constructor continue corresponding create cross cube current \ current_date current_path current_role current_time current_timestamp \ current_user cursor cycle \ data date day deallocate dec decimal declare default \ deferrable deferred delete depth deref desc describe descriptor \ destroy destructor deterministic dictionary diagnostics disconnect \ distinct domain double drop dynamic \ each else end end-exec equals escape every except \ exception exec execute external \ false fetch first float for foreign found from free full \ function \ general get global go goto grant group grouping \ having host hour \ identity if ignore immediate in indicator initialize initially \ inner inout input insert int integer intersect interval \ into is isolation iterate \ join \ key \ language large last lateral leading left less level like \ limit local localtime localtimestamp locator \ map match minute modifies modify module month \ names national natural nchar nclob new next no none \ not null numeric \ object of off old on only open operation option \ or order ordinality out outer output \ pad parameter parameters partial path postfix precision prefix \ preorder prepare preserve primary \ prior privileges procedure public \ read reads real recursive ref references referencing relative \ restrict result return returns revoke right \ role rollback rollup routine row rows \ savepoint schema scroll scope search second section select \ sequence session session_user set sets size smallint some| space \ specific specifictype sql sqlexception sqlstate sqlwarning start \ state statement static structure system_user \ table temporary terminate than then time timestamp \ timezone_hour timezone_minute to trailing transaction translation \ treat trigger true \ under union unique unknown \ unnest update usage user using \ value values varchar variable varying view \ when whenever where with without work write \ year \ zone'; $_[0]->SetLexer(wxSTC_LEX_SQL); # Set Lexers to use $_[0]->SetKeyWords(0,$sql_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keyword $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # Symbols $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers $_[0]->StyleSetSpec(12,"fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled");# End of line where string is not closed } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/vb.pm0000644000175000017500000000525411573645307023217 0ustar rizlarizlapackage syntaxhighlighter::vb; $VERSION = '0.02'; sub load{ use Wx qw(wxSTC_LEX_VB wxSTC_H_TAG); my $vb_keywords = 'and begin case call continue do each else elseif end erase error event exit false for function get gosub goto if implement in load loop lset me mid new next not nothing on or property raiseevent rem resume return rset select set stop sub then to true unload until wend while with withevents attribute alias as boolean byref byte byval const compare currency date declare dim double enum explicit friend global integer let lib long module object option optional preserve private property public redim single static string type variant'; my $vbnet_keywords = 'addhandler addressof andalso alias and ansi as assembly auto boolean byref byte byval call case catch cbool cbyte cchar cdate cdec cdbl char cint class clng cobj const cshort csng cstr ctype date decimal declare default delegate dim do double each else elseif end enum erase error event exit false finally for friend function get gettype goto handles if implements imports in inherits integer interface is let lib like long loop me mod module mustinherit mustoverride mybase myclass namespace new next not nothing notinheritable notoverridable object on option optional or orelse overloads overridable overrides paramarray preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared short single static step stop string structure sub synclock then throw to true try typeof unicode until variant when while with withevents writeonly xor'; # Not used here, mostly system statements (files, registry, I/O...), # I am not sure I should include them in the regular statements. my $vb_otherstatements = 'appactivate beep chdir chdrive close deletesetting filecopy get input kill line lock unlock lset mid mkdir name open print put randomize reset rmdir rset savepicture savesetting seek sendkeys setattr time unload width write'; $_[0]->SetLexer( wxSTC_LEX_VB ); # Set Lexers to use $_[0]->SetKeyWords(0,$vbnet_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace $_[0]->StyleSetSpec( 1,"fore:#555555"); # Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#3333aa,bold"); # Keyword $_[0]->StyleSetSpec( 4,"fore:#ff2020"); # String $_[0]->StyleSetSpec( 5,"fore:#208820"); # Preprocessor $_[0]->StyleSetSpec( 6,"fore:#882020"); # Operator $_[0]->StyleSetSpec( 7,"fore:#5577ff"); # Identifier $_[0]->StyleSetSpec( 8,"fore:#209999"); # Date } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/yaml.pm0000644000175000017500000000231411573645307023544 0ustar rizlarizlapackage syntaxhighlighter::yaml; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_YAML wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_YAML ); # Set Lexers to use $_[0]->SetKeyWords(0,'true false yes no'); # Add new keyword. $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#000000"); # default $_[0]->StyleSetSpec(1,"fore:#008800"); # comment line $_[0]->StyleSetSpec(2,"fore:#000088,bold"); # value identifier $_[0]->StyleSetSpec(3,"fore:#880088"); # keyword value $_[0]->StyleSetSpec(4,"fore:#880000"); # numerical value $_[0]->StyleSetSpec(5,"fore:#008888"); # reference/repeating value $_[0]->StyleSetSpec(6,"fore:#FFFFFF,bold,back:#000088,eolfilled"); # document delimiting line $_[0]->StyleSetSpec(7,"fore:#333366"); # text block marker $_[0]->StyleSetSpec(8,"fore:#FFFFFF,italics,bold,back:#FF0000,eolfilled");# syntax error marker } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/scheme.pm0000644000175000017500000000611611573645307024052 0ustar rizlarizlapackage syntaxhighlighter::scheme; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_LISP wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_LISP ); $_[0]->SetKeyWords(0,'+ - * / = < > <= >= => \ abs acos and angle append apply asin assoc assoc assq assv atan \ begin boolean? \ caar cadr call-with-current-continuation call/cc \ call-with-input-file call-with-output-file call-with-values \ car cdr \ caar cadr cdar cddr \ caaar caadr cadar caddr cdaar cdadr cddar cdddr \ caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr \ cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr \ case ceiling char->integer \ char-alphabetic? char-ci<=? char-ci=? char-ci>? \ char-downcase char-lower-case? char-numeric? char-ready? \ char-upcase char-upper-case? char-whitespace? \ char<=? char=? char>? char? \ close-input-port close-output-port complex? cond cons cos \ current-input-port current-output-port \ define define-syntax delay denominator display do dynamic-wind \ else eof-object? eq? equal? eqv? eval even? exact->inexact exact? \ exp expt \ floor for-each force \ gcd \ if imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment \ lambda lcm length let let* let-syntax letrec letrec-syntax \ list list->string list->vector list-ref list-tail list? load log \ magnitude make-polar make-rectangular make-string make-vector \ map max member memq memv min modulo \ negative? newline not null-environment null? number->string number? numerator \ odd? open-input-file open-output-file or output-port? \ pair? peek-char input-port? output-port? positive? procedure? \ quasiquote quote quotient \ rational? rationalize read read-char real-part real? remainder reverse round \ scheme-report-environment set! set-car! set-cdr! sin sqrt string \ string->list string->number string->symbol string-append \ string-ci<=? string-ci=? string-ci>? \ string-copy string-fill! string-length string-ref string-set! \ string<=? string=? string>? string? \ substring symbol->string symbol? syntax-rules \ transcript-off transcript-on truncate \ unquote unquote-splicing \ values vector vector->list vector-fill! vector-length vector-ref vector-set! vector? \ with-input-from-file with-output-to-file write write-char \ zero?'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(32,"fore:#000000"); # Default $_[0]->StyleSetSpec( 0,"fore:#000000"); # White space $_[0]->StyleSetSpec( 1,"fore:#447744"); # Line Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#882020"); # String $_[0]->StyleSetSpec( 8,"fore:#209999,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec( 9,"fore:#7F0000"); # Identifiers $_[0]->StyleSetSpec(10,"fore:#eecc99,bold"); # Operators $_[0]->StyleSetSpec(34,"fore:#0000FF,bold"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#FF0000,bold"); # } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/css.pm0000644000175000017500000000550011573645307023372 0ustar rizlarizlapackage syntaxhighlighter::css; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CSS wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_CSS ); # Set Lexers to use $_[0]->SetKeyWords(0,' \ border border-bottom border-bottom-color border-bottom-style border-bottom-width \ border-color border-left border-left-color border-left-style border-left-width \ border-right border-right-color border-right-style border-right-width border-style \ border-top border-top-color border-top-style border-top-width border-width \ clear cursor display float position visibility \ height line-height max-height max-width min-height min-width width \ font font-family font-size font-size-adjust font-stretch font-style font-variant \ font-weight \ content counter-increment counter-reset quotes \ list-style list-style-image list-style-position list-style-type \ margin margin-bottom margin-left margin-right margin-top \ outline outline-color outline-style outline-width \ padding padding-bottom padding-left padding-right padding-top \ bottom clip left overflow right top vertical-align z-index \ border-collapse border-spacing caption-side empty-cells table-layout \ color direction letter-spacing text-align text-decoration text-indent \ text-transform unicode-bidi white-space word-spacing orphans marks page \ page-break-after page-break-before page-break-inside size widows \ azimuth cue cue-after cue-before elevation pause pause-after pause-before pitch \ pitch-range play-during richness speak speak-header speak-numeral speak-punctuation \ speech-rate stress voice-family volume '); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#2020ff"); # HTML tag $_[0]->StyleSetSpec( 2,"fore:#3350ff"); # Class $_[0]->StyleSetSpec( 3,"fore:#202020"); # Pseudo class $_[0]->StyleSetSpec( 4,"fore:#202020"); # Unknown Pseudo class $_[0]->StyleSetSpec( 5,"fore:#208820"); # Operator $_[0]->StyleSetSpec( 6,"fore:#882020"); # Identifier $_[0]->StyleSetSpec( 7,"fore:#202020"); # Unknown Identifier $_[0]->StyleSetSpec( 8,"fore:#209999"); # Value $_[0]->StyleSetSpec( 9,"fore:#888820"); # Comment $_[0]->StyleSetSpec(10,"fore:#202020"); # ID $_[0]->StyleSetSpec(11,"fore:#202020"); # Important $_[0]->StyleSetSpec(12,"fore:#202020"); # Directive (@) $_[0]->StyleSetSpec(13,"fore:#202020"); # Double quoted strings $_[0]->StyleSetSpec(14,"fore:#202020"); # Single quoted strings } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/idl.pm0000644000175000017500000000637111573645307023361 0ustar rizlarizlapackage syntaxhighlighter::idl; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $idl_keywords = 'aggregatable allocate appobject arrays async async_uuid \ auto_handle bindable boolean broadcast byte byte_count \ call_as callback char coclass code comm_status \ const context_handle context_handle_noserialize \ context_handle_serialize control cpp_quote custom \ decode default defaultbind defaultcollelem \ defaultvalue defaultvtable dispinterface displaybind dllname \ double dual enable_allocate encode endpoint entry enum error_status_t \ explicit_handle fault_status first_is float \ handle_t heap helpcontext helpfile helpstring \ helpstringcontext helpstringdll hidden hyper \ id idempotent ignore iid_as iid_is immediatebind implicit_handle \ import importlib in include in_line int __int64 __int3264 interface \ last_is lcid length_is library licensed local long \ max_is maybe message methods midl_pragma \ midl_user_allocate midl_user_free min_is module ms_union \ ncacn_at_dsp ncacn_dnet_nsp ncacn_http ncacn_ip_tcp \ ncacn_nb_ipx ncacn_nb_nb ncacn_nb_tcp ncacn_np \ ncacn_spx ncacn_vns_spp ncadg_ip_udp ncadg_ipx ncadg_mq \ ncalrpc nocode nonbrowsable noncreatable nonextensible notify \ object odl oleautomation optimize optional out out_of_line \ pipe pointer_default pragma properties propget propput propputref \ ptr public range readonly ref represent_as requestedit restricted retval \ shape short signed size_is small source strict_context_handle \ string struct switch switch_is switch_type \ transmit_as typedef uidefault union unique unsigned user_marshal usesgetlasterror uuid \ v1_enum vararg version void wchar_t wire_marshal'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$idl_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/nsis.pm0000644000175000017500000001152311573645307023560 0ustar rizlarizlapackage syntaxhighlighter::nsis; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_NSIS wxSTC_H_TAG); # Functions: my $nsis_keywords = 'What Abort AddSize AllowRootDirInstall AutoCloseWindow BGGradient BrandingText BringToFront CRCCheck Call CallInstDLL Caption ClearErrors CompletedText ComponentText CopyFiles CreateDirectory CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirShow DirText DisabledBitmap EnabledBitmap EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileClose FileErrorText FileOpen FileRead FileReadByte FileSeek FileWrite FileWriteByte FindClose FindFirst FindNext FindWindow Function FunctionEnd GetCurrentAddress GetDLLVersionLocal GetDllVersion GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetLabelAddress GetTempFileName Goto HideWindow Icon IfErrors IfFileExists IfRebootFlag InstProgressFlags InstType InstallButtonText InstallColors InstallDir InstallDirRegKey IntCmp IntCmpU IntFmt IntOp IsWindow LicenseData LicenseText MessageBox MiscButtonText Name OutFile Pop Push Quit RMDir ReadEnvStr ReadINIStr ReadRegDword ReadRegStr Reboot RegDLL Rename Return SearchPath Section SectionDivider SectionEnd SectionIn SendMessage SetAutoClose SetCompress SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrors SetFileAttributes SetOutPath SetOverwrite SetRebootFlag ShowInstDetails ShowUninstDetails SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCpy StrLen SubCaption UnRegDLL UninstallButtonText UninstallCaption UninstallEXEName UninstallIcon UninstallSubCaption UninstallText WindowIcon WriteINIStr WriteRegBin WriteRegDword WriteRegExpandStr WriteRegStr WriteUninstaller SectionGetFlags SectionSetFlags SectionSetText SectionGetText LogText LogSet CreateFont SetShellVarContext SetStaticBkColor SetBrandingImage PluginDir SubSectionEnd SubSection CheckBitmap ChangeUI SetFont AddBrandingImage XPStyle Var LangString !define !undef !ifdef !ifndef !endif !else !macro !echo !warning !error !verbose !macroend !insertmacro !system !include !cd !packhdr'; # Variables: my $nsis_keywords2 = '$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $R0 $R1 $R2 $R3 $R4 $R5 $R6 $R7 $R8 $R9 $CMDLINE $DESKTOP $EXEDIR $HWNDPARENT $INSTDIR $OUTDIR $PROGRAMFILES ${NSISDIR} $\n $\r $QUICKLAUNCH $SMPROGRAMS $SMSTARTUP $STARTMENU $SYSDIR $TEMP $WINDIR'; # Lables: my $nsis_keywords3 = 'ARCHIVE FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY HIDDEN HKCC HKCR HKCU HKDD HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_DYN_DATA HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS HKLM HKPD HKU IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES MB_ABORTRETRYIGNORE MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4 MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP MB_OK MB_OKCANCEL MB_RETRYCANCEL MB_RIGHT MB_SETFOREGROUND MB_TOPMOST MB_YESNO MB_YESNOCANCEL NORMAL OFFLINE READONLY SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWNORMAL SYSTEM TEMPORARY auto colored false force hide ifnewer nevershow normal off on show silent silentlog smooth true try'; #User defined: my $nsis_keywords4 = 'MyFunction MySomethingElse'; $_[0]->SetLexer(wxSTC_LEX_NSIS); # Set Lexers to use $_[0]->SetKeyWords(0,$nsis_keywords1); $_[0]->SetKeyWords(1,$nsis_keywords2); $_[0]->SetKeyWords(2,$nsis_keywords3); $_[0]->SetKeyWords(3,$nsis_keywords4); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # Whitespace (SCE_NSIS_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#bbbbbb"); # Comment (SCE_NSIS_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#999999,back:#EEEEEE"); # String double quote (SCE_NSIS_STRINGDQ) $_[0]->StyleSetSpec( 3,"fore:#999999,back:#EEEEEE"); # String left quote (SCE_NSIS_STRINGLQ) $_[0]->StyleSetSpec( 4,"fore:#999999,back:#EEEEEE"); # String right quote (SCE_NSIS_STRINGRQ) $_[0]->StyleSetSpec( 5,"fore:#00007f,bold"); # Function (SCE_NSIS_FUNCTION) $_[0]->StyleSetSpec( 6,"fore:#CC3300"); # Variable (SCE_NSIS_VARIABLE) $_[0]->StyleSetSpec( 7,"fore:#ff9900"); # Label (SCE_NSIS_LABEL) $_[0]->StyleSetSpec( 8,"fore:#000000"); # User Defined (SCE_NSIS_USERDEFINED) $_[0]->StyleSetSpec( 9,"fore:#7f007f"); # Section (SCE_NSIS_SECTIONDEF) $_[0]->StyleSetSpec(10,"fore:#9fcc9f"); # Sub section (SCE_NSIS_SUBSECTIONDEF) $_[0]->StyleSetSpec(11,"fore:#007f00,bold"); # If def (SCE_NSIS_IFDEFINEDEF) $_[0]->StyleSetSpec(12,"fore:#009f00,bold"); # Macro def (SCE_NSIS_MACRODEF) $_[0]->StyleSetSpec(13,"fore:#CC3300,back:#EEEEEE"); # Variable within string (SCE_NSIS_STRINGVAR) $_[0]->StyleSetSpec(14,"fore:#007f7f"); # Numbers (SCE_NSIS_NUMBER) } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/conf.pm0000644000175000017500000000233711573645307023534 0ustar rizlarizlapackage syntaxhighlighter::conf; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CONF wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_CONF ); # Set Lexers to use $_[0]->SetKeyWords(0,''); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace (SCE_CONF_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#777777"); # Comment (SCE_CONF_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number (SCE_CONF_NUMBER) $_[0]->StyleSetSpec( 3,"fore:#888820"); # Apache Runtime Directive (SCE_CONF_DIRECTIVE) $_[0]->StyleSetSpec( 4,"fore:#202020"); # extensions (like .gz, .tgz, .html) (SCE_CONF_EXTENSION) $_[0]->StyleSetSpec( 5,"fore:#208820"); # parameters for Apache Runtime directives (SCE_CONF_PARAMETER) $_[0]->StyleSetSpec( 6,"fore:#882020"); # Double quoted string (SCE_CONF_STRING) $_[0]->StyleSetSpec( 7,"fore:#202020"); # Operators (SCE_CONF_OPERATOR) $_[0]->StyleSetSpec( 8,"fore:#209999"); # IP address (SCE_CONF_IP) $_[0]->StyleSetSpec( 9,"fore:#202020"); # identifier (SCE_CONF_IDENTIFIER) } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/diff.pm0000644000175000017500000000130611573645307023512 0ustar rizlarizlapackage syntaxhighlighter::diff; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_DIFF); sub load{ $_[0]->SetLexer( wxSTC_LEX_DIFF ); $_[0]->SetKeyWords(0,''); $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#007F00"); # Comment (part before "diff ..." or "--- ..." and , Only in ..., Binary file...) $_[0]->StyleSetSpec( 2,"fore:#7F7F00"); # Command (diff ...) $_[0]->StyleSetSpec( 3,"fore:#7F0000"); # Source file (--- ...) and Destination file (+++ ...) $_[0]->StyleSetSpec( 4,"fore:#7F007F"); # Position setting (@@ ...) $_[0]->StyleSetSpec( 5,"fore:#007F7F"); # Line removal (-...) $_[0]->StyleSetSpec( 6,"fore:#00007F"); # Line addition (+...) } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/pascal.pm0000644000175000017500000000356411573645307024055 0ustar rizlarizlapackage syntaxhighlighter::pascal; $VERSION = '0.01'; sub load { use Wx qw(wxSTC_LEX_PASCAL wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_PASCAL ); # Set Lexers to use $_[0]->SetKeyWords(0,'and array asm begin case cdecl class const constructor default \ destructor div do downto else end end. except exit exports external far file \ finalization finally for function goto if implementation in index inherited \ initialization inline interface label library message mod near nil not \ object of on or out overload override packed pascal private procedure program \ property protected public published raise read record register repeat resourcestring \ safecall set shl shr stdcall stored string then threadvar to try type unit \ until uses var virtual while with write xor'); # Add new keyword. # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#000000"); # White space $_[0]->StyleSetSpec(1,"fore:#aaaaaa)"); # Comment $_[0]->StyleSetSpec(2,"fore:#ff0000"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc Comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#ee7b00,back:#fff8f8,italics");# Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600,back:#f8fff8,italics");# Single quoted string $_[0]->StyleSetSpec(8,"fore:#007F7F"); # Symbols $_[0]->StyleSetSpec(9,"fore:#7F7F00"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#aa9900,bold"); # Operators $_[0]->StyleSetSpec(14,"fore:#ffffff,back:#000000"); # Inline Asm $_[0]->StyleSetSpec(32,"fore:#800000"); # Default/Identifiers $_[0]->StyleSetSpec(34,"fore:#0000FF"); # Brace highlight $_[0]->StyleSetSpec(35,"fore:#FF0000"); # Brace incomplete highlight } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/lisp.pm0000644000175000017500000000372611573645307023561 0ustar rizlarizlapackage syntaxhighlighter::lisp; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_LISP wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_LISP ); # Set Lexers to use $_[0]->SetKeyWords(0,'not defun + - * / = < > <= >= princ eval apply funcall quote identity function complement backquote lambda set setq setf defun defmacro gensym make symbol intern symbol name symbol value symbol plist get getf putprop remprop hash make array aref car cdr caar cadr cdar cddr caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr cons list append reverse last nth nthcdr member assoc subst sublis nsubst nsublis remove length list length mapc mapcar mapl maplist mapcan mapcon rplaca rplacd nconc delete atom symbolp numberp boundp null listp consp minusp zerop plusp evenp oddp eq eql equal cond case and or let l if prog prog1 prog2 progn go return do dolist dotimes catch throw error cerror break continue errset baktrace evalhook truncate float rem min max abs sin cos tan expt exp sqrt random logand logior logxor lognot bignums logeqv lognand lognor logorc2 logtest logbitp logcount integer length nil'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(32,"fore:#000000"); # Default $_[0]->StyleSetSpec( 0,"fore:#000000"); # White space $_[0]->StyleSetSpec( 1,"fore:#447744"); # Line Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#882020"); # String $_[0]->StyleSetSpec( 8,"fore:#209999,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec( 9,"fore:#7F0000"); # Identifiers $_[0]->StyleSetSpec(10,"fore:#eecc99,bold"); # Operators $_[0]->StyleSetSpec(34,"fore:#0000FF,bold"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#FF0000,bold"); # } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/forth.pm0000644000175000017500000000722311573645307023730 0ustar rizlarizlapackage syntaxhighlighter::forth; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_FORTH wxSTC_H_TAG); # control keywords Forth my $forth_keywords = 'AGAIN BEGIN CASE DO ELSE ENDCASE ENDOF IF LOOP OF REPEAT THEN UNTIL WHILE [IF] [ELSE] [THEN] ?DO'; # keywords my $forth_keywords2 = 'DUP DROP ROT SWAP OVER @ ! 2@ 2! 2DUP 2DROP 2SWAP 2OVER NIP R@ >R R> 2R@ 2>R 2R> 0= 0< SP@ SP! W@ W! C@ C! < > = <> 0<> SPACE SPACES KEY? KEY THROW CATCH ABORT */ 2* /MOD CELL+ CELLS CHAR+ CHARS MOVE ERASE DABS TITLE HEX DECIMAL HOLD <# # #S #> SIGN D. . U. DUMP (.") >NUMBER IMMEDIATE EXIT RECURSE UNLOOP LEAVE HERE ALLOT , C, W, COMPILE, BRANCH, RET, LIT, DLIT, ?BRANCH, ", >MARK >RESOLVE1 RESOLVE ALIGN ALIGNED USER-ALLOT USER-HERE HEADER DOES> SMUDGE HIDE :NONAME LAST-WORD ?ERROR ERROR2 FIND1 SFIND SET-CURRENT GET-CURRENT DEFINITIONS GET-ORDER FORTH ONLY SET-ORDER ALSO PREVIOUS VOC-NAME. ORDER LATEST LITERAL 2LITERAL SLITERAL CLITERAL ?LITERAL1 ?SLITERAL1 HEX-LITERAL HEX-SLITERAL ?LITERAL2 ?SLITERAL2 SOURCE EndOfChunk CharAddr PeekChar IsDelimiter GetChar OnDelimiter SkipDelimiters OnNotDelimiter SkipWord SkipUpTo ParseWord NextWord PARSE SKIP CONSOLE-HANDLES REFILL DEPTH ?STACK ?COMP WORD INTERPRET BYE QUIT MAIN1 EVALUATE INCLUDE-FILE INCLUDED >BODY +WORD WORDLIST CLASS! CLASS@ PAR! PAR@ ID. ?IMMEDIATE ?VOC IMMEDIATE VOC WordByAddrWl WordByAddr NLIST WORDS SAVE OPTIONS /notransl ANSI>OEM ACCEPT EMIT CR TYPE EKEY? EKEY EKEY>CHAR EXTERNTASK ERASE-IMPORTS ModuleName ModuleDirName ENVIRONMENT? DROP-EXC-HANDLER SET-EXC-HANDLER HALT ERR CLOSE-FILE CREATE-FILE CREATE-FILE-SHARED OPEN-FILE-SHARED DELETE-FILE FILE-POSITION FILE-SIZE OPEN-FILE READ-FILE REPOSITION-FILE DOS-LINES UNIX-LINES READ-LINE WRITE-FILE RESIZE-FILE WRITE-LINE ALLOCATE FREE RESIZE START SUSPEND RESUME STOP PAUSE MIN MAX TRUE FALSE ASCIIZ> R/O W/O ;CLASS ENDWITH OR AND /STRING SEARCH COMPARE EXPORT ;MODULE SPACE /''; # defwords my $forth_keywords3 = 'VARIABLE CREATE : VALUE CONSTANT VM: M: var dvar chars OBJ CONSTR: DESTR: CLASS: OBJECT: POINTER USER USER-CREATE USER-VALUE VECT WNDPROC: VOCABULARY -- TASK: CEZ: MODULE:'; # prewords1 my $forth_keywords4 = 'CHAR [CHAR] POSTPONE WITH ['] TO [COMPILE] CHAR ASCII '; # prewords2 my $forth_keywords5 = 'REQUIRE WINAPI:'; # string words my $forth_keywords6 = 'S" ABORT" Z" " ." C"'; $_[0]->SetLexer( wxSTC_LEX_FORTH ); # Set Lexers to use $_[0]->SetKeyWords(0,$forth_keywords); $_[0]->SetKeyWords(1,$forth_keywords2); $_[0]->SetKeyWords(2,$forth_keywords3); $_[0]->SetKeyWords(3,$forth_keywords4); $_[0]->SetKeyWords(4,$forth_keywords5); $_[0]->SetKeyWords(5,$forth_keywords6); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace (SCE_FORTH_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#009933"); # Comment (SCE_FORTH_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#007f00"); # ML comment (SCE_FORTH_COMMENT_ML) $_[0]->StyleSetSpec( 3,"fore:#000000,bold"); # ML comment (SCE_FORTH_IDENTIFIER) $_[0]->StyleSetSpec( 4,"fore:#00007f,bold"); # control (SCE_FORTH_CONTROL) $_[0]->StyleSetSpec( 5,"fore:#000000,bold"); # Keywords $_[0]->StyleSetSpec( 6,"fore:#ff0000"); # defwords (SCE_FORTH_DEFWORD) $_[0]->StyleSetSpec( 7,"fore:#cc3300"); # preword1 (SCE_FORTH_PREWORD1) $_[0]->StyleSetSpec( 8,"fore:#996633"); # preword2 (SCE_FORTH_PREWORD2) $_[0]->StyleSetSpec( 9,"fore:#007f7f"); # number (SCE_FORTH_NUMBER) $_[0]->StyleSetSpec(10,"fore:#cc3300"); # Double quoted string (SCE_FORTH_STRING) $_[0]->StyleSetSpec(11,"fore:#0000cc"); # locale } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/ada.pm0000644000175000017500000000274011573645307023332 0ustar rizlarizlapackage syntaxhighlighter::ada; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_ADA wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_ADA ); $_[0]->SetKeyWords(0,'abort abstract accept access aliased all array at begin body \ case constant declare delay delta digits do else elsif end entry exception exit for \ function generic goto if in is limited loop new null of others out package pragma \ private procedure protected raise range record renames requeue return reverse \ select separate subtype tagged task terminate then type until use when while with \ abs and mod not or rem xor'); # Keywords for operators in the last line # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#447744,bold"); # Keyword $_[0]->StyleSetSpec( 2,"fore:#3350ff"); # Identifiers $_[0]->StyleSetSpec( 3,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 4,"fore:#7f2020"); # Operators (delimiters) $_[0]->StyleSetSpec( 5,"fore:#208820"); # Character $_[0]->StyleSetSpec( 6,"fore:#882020,eolfilled"); # End of line where character is not closed $_[0]->StyleSetSpec( 7,"fore:#207474"); # String $_[0]->StyleSetSpec( 8,"fore:#209999,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec( 9,"fore:#7F0000"); # Label $_[0]->StyleSetSpec(10,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec(11,"fore:#FF0000"); # Illegal token } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/xml.pm0000644000175000017500000000456011573645307023407 0ustar rizlarizlapackage syntaxhighlighter::xml; $VERSION = '0.02'; sub load{ use Wx qw(wxSTC_LEX_XML wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_XML ); # Set Lexers to use $_[0]->SetKeyWords(1,""); # Add new keyword. $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#995544,bold"); # Text $_[0]->StyleSetSpec(1,"fore:#222288"); # Tags $_[0]->StyleSetSpec(2,"fore:#222288,back:#FFFFFF"); # Unknown TagsFFE0E0 $_[0]->StyleSetSpec(3,"fore:#008800"); # Attributes $_[0]->StyleSetSpec(4,"fore:#004040,back:#FFFFFF"); # Unknown Attributes#FFE0E0 $_[0]->StyleSetSpec(5,"fore:#007f7f,bold"); # Numbers $_[0]->StyleSetSpec(6,"fore:#dd5544"); # Double quoted strings $_[0]->StyleSetSpec(7,"fore:#dd5544"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#bbbb44"); # Other inside tag $_[0]->StyleSetSpec(9,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(10,"fore:#004000,bold"); # Entities $_[0]->StyleSetSpec(11,"fore:#000000,bold"); # XML style tag ends '/>' $_[0]->StyleSetSpec(12,"fore:#228822"); # XML identifier start 'StyleSetSpec(13,"fore:#339933"); # XML identifier end '?>' $_[0]->StyleSetSpec(14,"fore:#44aa44"); # SCRIPT $_[0]->StyleSetSpec(15,"fore:#55bb55"); $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # CDATA $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Question $_[0]->StyleSetSpec(19,"fore:#FFFF00,back:#8080A0"); # Unquoted Value $_[0]->StyleSetSpec(20,"fore:#FFFF00,back:#A08080"); $_[0]->StyleSetSpec(21,"fore:#600000,back:#FFF0D8"); $_[0]->StyleSetSpec(22,"fore:#000000,back:#DDD0DD"); $_[0]->StyleSetSpec(23,"fore:#7F007F,back:#DDD0DD,notbold"); $_[0]->StyleSetSpec(24,"fore:#7F007F,back:#DDD0DD,bold"); $_[0]->StyleSetSpec(25,"fore:#7F007F,back:#DDD0DD,italics"); $_[0]->StyleSetSpec(26,"fore:#7F007F,notbold"); $_[0]->StyleSetSpec(27,"fore:#000000"); $_[0]->StyleSetSpec(28,"fore:#000000"); $_[0]->StyleSetSpec(29,"fore:#000000"); $_[0]->StyleSetSpec(30,"fore:#000000"); $_[0]->StyleSetSpec(31,"fore:#000000"); # No brace matching in XML } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/fortran.pm0000644000175000017500000001236611573645307024265 0ustar rizlarizlapackage syntaxhighlighter::fortran; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_FORTRAN wxSTC_H_TAG); $_[0]->SetLexer(wxSTC_LEX_FORTRAN); # Set Lexers to use keywords and io specifiers $_[0]->SetKeyWords(0, 'keywords and input/output specifiers keywordclass.fortran=access action advance allocatable allocate apostrophe assign assignment associate asynchronous backspace bind blank blockdata call case character class close common complex contains continue cycle data deallocate decimal delim default dimension direct do dowhile double doubleprecision else elseif elsewhere encoding end endassociate endblockdata enddo endfile endforall endfunction endif endinterface endmodule endprogram endselect endsubroutine endtype endwhere entry eor equivalence err errmsg exist exit external file flush fmt forall form format formatted function go goto id if implicit in include inout integer inquire intent interface intrinsic iomsg iolength iostat kind len logical module name named namelist nextrec nml none nullify number only open opened operator optional out pad parameter pass pause pending pointer pos position precision print private program protected public quote read readwrite real rec recl recursive result return rewind save select selectcase selecttype sequential sign size stat status stop stream subroutine target then to type unformatted unit use value volatile wait where while write'); #keywords2 is for highlighting intrinsic and extended functions $_[0]->SetKeyWords(1, 'abs achar acos acosd adjustl adjustr aimag aimax0 aimin0 aint ajmax0 ajmin0 akmax0 akmin0 all allocated alog alog10 amax0 amax1 amin0 amin1 amod anint any asin asind associated atan atan2 atan2d atand bitest bitl bitlr bitrl bjtest bit_size bktest break btest cabs ccos cdabs cdcos cdexp cdlog cdsin cdsqrt ceiling cexp char clog cmplx conjg cos cosd cosh count cpu_time cshift csin csqrt dabs dacos dacosd dasin dasind datan datan2 datan2d datand date date_and_time dble dcmplx dconjg dcos dcosd dcosh dcotan ddim dexp dfloat dflotk dfloti dflotj digits dim dimag dint dlog dlog10 dmax1 dmin1 dmod dnint dot_product dprod dreal dsign dsin dsind dsinh dsqrt dtan dtand dtanh eoshift epsilon errsns exp exponent float floati floatj floatk floor fraction free huge iabs iachar iand ibclr ibits ibset ichar idate idim idint idnint ieor ifix iiabs iiand iibclr iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint iiqnnt iishft \ iishftc iisign ilen imax0 imax1 imin0 imin1 imod index inint inot int int1 int2 int4 int8 iqint iqnint ior ishft ishftc isign isnan izext jiand jibclr jibits jibset jidim jidint jidnnt jieor jifix jint jior jiqint jiqnnt jishft jishftc jisign jmax0 jmax1 jmin0 jmin1 jmod jnint jnot jzext kiabs kiand kibclr kibits kibset kidim kidint kidnnt kieor kifix kind kint kior kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot kzext lbound leadz len len_trim lenlge lge lgt lle llt log log10 logical lshift malloc matmul max max0 max1 maxexponent maxloc maxval merge min min0 min1 minexponent minloc minval mod modulo mvbits nearest nint not nworkers number_of_processors pack popcnt poppar precision present product radix random random_number random_seed range real repeat reshape rrspacing rshift scale scan secnds selected_int_kind selected_real_kind set_exponent shape sign sin sind sinh size sizeof sngl snglq spacing spread sqrt sum system_clock tan tand tanh tiny transfer transpose trim ubound unpack verify'); #keywords3 are nonstardard, extended and user defined functions $_[0]->SetKeyWords(2, 'cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand dcmplx dconjg dcotan dcotand decode dimag dll_export dll_import doublecomplex dreal dvchk encode find flen flush getarg getcharqq getcl getdat getenv gettim hfix ibchng identifier imag int1 int2 int4 intc intrup invalop iostat_msg isha ishc ishl jfix lacfar locking locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq precfill prompt qabs qacos qacosd qasin qasind qatan qatand qatan2 qcmplx qconjg qcos qcosd qcosh qdim qexp qext qextd qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin qsind qsinh qsqrt qtan qtand qtanh ran rand randu rewrite segment setdat settim system timer undfl unlock union val virtual volatile zabs zcos zexp zlog zsin zsqrt'); #$_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # default $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(3,"fore:#004000"); # Single quoted string $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Doublequoted string $_[0]->StyleSetSpec(5,"fore:#000000,back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec(6,"fore:#ff5555,bold"); # Operators $_[0]->StyleSetSpec(7,"fore:#55aa55,italic"); # Identifiers $_[0]->StyleSetSpec(8,"fore:#3344bb"); # Keywords $_[0]->StyleSetSpec(9,"fore:#228833"); # Keywords2 $_[0]->StyleSetSpec(10,"fore:#bb7799"); # Keywords3 $_[0]->StyleSetSpec(11,"fore:#778899"); # Preprocessor $_[0]->StyleSetSpec(12,"fore:#228822"); # Operators in .NAME. format $_[0]->StyleSetSpec(13,"fore:#339933"); # Labels $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Continuation } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/html.pm0000644000175000017500000002130011573645307023542 0ustar rizlarizlapackage syntaxhighlighter::html; $VERSION = '0.3'; sub load{ use Wx qw(wxSTC_LEX_HTML wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_HTML ); # Set Lexers to HTML my $html_elements = 'a abbr acronym address applet area b base basefont bdo big blockquote body br button caption center cite code col colgroup dd del dfn dir div dl dt em fieldset font form frame frameset h1 h2 h3 h4 h5 h6 head hr html i iframe img input ins isindex kbd label legend li link map menu meta noframes noscript object ol optgroup option p param pre q s samp script select small span strike strong style sub sup table tbody td textarea tfoot th thead title tr tt u ul var xml xmlns'; my $html_attributes = 'abbr accept-charset accept accesskey action align alink alt archive axis background bgcolor border cellpadding cellspacing char charoff charset checked cite class classid clear codebase codetype color cols colspan compact content coords data datafld dataformatas datapagesize datasrc datetime declare defer dir disabled enctype event face for frame frameborder headers height href hreflang hspace http-equiv id ismap label lang language leftmargin link longdesc marginwidth marginheight maxlength media method multiple name nohref noresize noshade nowrap object onblur onchange onclick ondblclick onfocus onkeydown onkeypress onkeyup onload onmousedown onmousemove onmouseover onmouseout onmouseup onreset onselect onsubmit onunload profile prompt readonly rel rev rows rowspan rules scheme scope selected shape size span src standby start style summary tabindex target text title topmargin type usemap valign value valuetype version vlink vspace width text password checkbox radio submit reset file hidden image'; $_[0]->SetKeyWords(1,$html_elements.$html_attributes."public !doctype"); # Add new keyword. #$_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#000000"); # Text $_[0]->StyleSetSpec(1,"fore:#2222A0,bold"); # Tags $_[0]->StyleSetSpec(2,"fore:#ff0117"); # Unknown Tags $_[0]->StyleSetSpec(3,"fore:#007700"); # Attributes $_[0]->StyleSetSpec(4,"fore:#ff00B0"); # Unknown Attributes $_[0]->StyleSetSpec(5,"fore:#3399BB"); # Numbers $_[0]->StyleSetSpec(6,"fore:#ee7b00,back:#fff8f8"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600,back:#fffcff"); # Single quoted string #$_[0]->StyleSetSpec(6,"fore:#2222A0,back:#eeeeff"); # Double quoted strings #$_[0]->StyleSetSpec(7,"fore:#2222A0,back:#eeeeff"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#ffbb55"); # Other inside tag $_[0]->StyleSetSpec(9,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(10,"fore:#cccc55,italic"); # Entities $_[0]->StyleSetSpec(11,"fore:#000000"); # XML style tag ends '/>' $_[0]->StyleSetSpec(12,"fore:#228822"); # XML identifier start 'StyleSetSpec(13,"fore:#339933"); # XML identifier end '?>' $_[0]->StyleSetSpec(14,"fore:#ffaa44"); # SCRIPT $_[0]->StyleSetSpec(15,"fore:#55bb55"); # ASP <% ... %> $_[0]->StyleSetSpec(16,"fore:#55bb55"); # ASP <% ... %> $_[0]->StyleSetSpec(17,"fore:#000000"); # CDATA $_[0]->StyleSetSpec(18,"fore:#000000"); # PHP $_[0]->StyleSetSpec(19,"fore:#2222A0"); # Unquoted values $_[0]->StyleSetSpec(21,"fore:#7F007F"); # SGML tags $_[0]->StyleSetSpec(22,"fore:#800117"); # SGML command $_[0]->StyleSetSpec(23,"fore:#800117"); # SGML 1st param $_[0]->StyleSetSpec(24,"fore:#800117"); # SGML double string $_[0]->StyleSetSpec(25,"fore:#800117"); # SGML single string $_[0]->StyleSetSpec(26,"fore:#7F007F,bold"); # SGML error $_[0]->StyleSetSpec(27,"fore:#000000"); # SGML special (#xxxx type) $_[0]->StyleSetSpec(28,"fore:#000000"); # SGML entity $_[0]->StyleSetSpec(29,"fore:#000000"); # SGML comment $_[0]->StyleSetSpec(31,"fore:#000000"); # SGML block $_[0]->StyleSetSpec(34,"fore:#000000"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#000000"); # Matched Operators # Embedded Javascript $_[0]->StyleSetSpec(40,"fore:#0000ff"); # JS Start - allows eol filled background to not start on same line as SCRIPT tag $_[0]->StyleSetSpec(41,"fore:#0000ff"); $_[0]->StyleSetSpec(42,"fore:#0000ff"); $_[0]->StyleSetSpec(43,"fore:#0000ff"); $_[0]->StyleSetSpec(44,"fore:#0000ff"); $_[0]->StyleSetSpec(45,"fore:#0000ff"); $_[0]->StyleSetSpec(46,"fore:#0000ff"); $_[0]->StyleSetSpec(47,"fore:#0000ff"); $_[0]->StyleSetSpec(48,"fore:#0000ff"); $_[0]->StyleSetSpec(49,"fore:#0000ff"); $_[0]->StyleSetSpec(50,"fore:#0000ff"); $_[0]->StyleSetSpec(51,"fore:#0000ff"); $_[0]->StyleSetSpec(52,"fore:#0000ff"); # ASP Javascript $_[0]->StyleSetSpec(55,"fore:#000000"); # JS Start - allows eol filled background to not start on same line as SCRIPT tag $_[0]->StyleSetSpec(56,"fore:#000000"); $_[0]->StyleSetSpec(57,"fore:#000000"); $_[0]->StyleSetSpec(58,"fore:#000000"); $_[0]->StyleSetSpec(59,"fore:#000000"); $_[0]->StyleSetSpec(60,"fore:#000000"); $_[0]->StyleSetSpec(61,"fore:#000000"); $_[0]->StyleSetSpec(62,"fore:#000000"); $_[0]->StyleSetSpec(63,"fore:#000000"); $_[0]->StyleSetSpec(64,"fore:#000000"); $_[0]->StyleSetSpec(65,"fore:#000000"); $_[0]->StyleSetSpec(66,"fore:#000000"); $_[0]->StyleSetSpec(67,"fore:#000000"); # JavaScript RegEx $_[0]->StyleSetSpec(68,"fore:#000000"); $_[0]->StyleSetSpec(69,"fore:#000000"); $_[0]->StyleSetSpec(70,"fore:#000000"); $_[0]->StyleSetSpec(71,"fore:#000000"); $_[0]->StyleSetSpec(72,"fore:#000000"); $_[0]->StyleSetSpec(73,"fore:#000000"); $_[0]->StyleSetSpec(74,"fore:#000000"); $_[0]->StyleSetSpec(75,"fore:#000000"); $_[0]->StyleSetSpec(76,"fore:#000000"); $_[0]->StyleSetSpec(77,"fore:#000000"); $_[0]->StyleSetSpec(78,"fore:#000000"); $_[0]->StyleSetSpec(79,"fore:#000000"); $_[0]->StyleSetSpec(80,"fore:#000000"); $_[0]->StyleSetSpec(81,"fore:#000000"); $_[0]->StyleSetSpec(82,"fore:#000000"); $_[0]->StyleSetSpec(83,"fore:#000000"); $_[0]->StyleSetSpec(84,"fore:#000000"); $_[0]->StyleSetSpec(85,"fore:#000000"); $_[0]->StyleSetSpec(86,"fore:#000000"); $_[0]->StyleSetSpec(87,"fore:#000000"); $_[0]->StyleSetSpec(88,"fore:#000000"); $_[0]->StyleSetSpec(89,"fore:#000000"); $_[0]->StyleSetSpec(90,"fore:#000000"); $_[0]->StyleSetSpec(91,"fore:#000000"); $_[0]->StyleSetSpec(92,"fore:#000000"); $_[0]->StyleSetSpec(93,"fore:#000000"); $_[0]->StyleSetSpec(94,"fore:#000000"); $_[0]->StyleSetSpec(95,"fore:#000000"); $_[0]->StyleSetSpec(96,"fore:#000000"); $_[0]->StyleSetSpec(97,"fore:#000000"); $_[0]->StyleSetSpec(98,"fore:#000000"); $_[0]->StyleSetSpec(99,"fore:#000000"); $_[0]->StyleSetSpec(100,"fore:#000000"); $_[0]->StyleSetSpec(101,"fore:#000000"); $_[0]->StyleSetSpec(102,"fore:#000000"); $_[0]->StyleSetSpec(103,"fore:#000000"); $_[0]->StyleSetSpec(104,"fore:#000000"); $_[0]->StyleSetSpec(105,"fore:#000000"); $_[0]->StyleSetSpec(106,"fore:#000000"); $_[0]->StyleSetSpec(107,"fore:#000000"); $_[0]->StyleSetSpec(108,"fore:#000000"); $_[0]->StyleSetSpec(109,"fore:#000000"); $_[0]->StyleSetSpec(110,"fore:#000000"); $_[0]->StyleSetSpec(111,"fore:#000000"); $_[0]->StyleSetSpec(112,"fore:#000000"); $_[0]->StyleSetSpec(113,"fore:#000000"); $_[0]->StyleSetSpec(114,"fore:#000000"); $_[0]->StyleSetSpec(115,"fore:#000000"); $_[0]->StyleSetSpec(116,"fore:#000000"); $_[0]->StyleSetSpec(117,"fore:#000000"); $_[0]->StyleSetSpec(118,"fore:#000033,back:#FFF8F8,eolfilled"); # PHP Default $_[0]->StyleSetSpec(119,"fore:#007F00,back:#FFF8F8"); # Double quoted String $_[0]->StyleSetSpec(120,"fore:#009F00,back:#FFF8F8"); # Single quoted string $_[0]->StyleSetSpec(121,"fore:#7F007F,back:#FFF8F8,italics"); # Keyword $_[0]->StyleSetSpec(122,"fore:#CC9900,back:#FFF8F8"); # Number $_[0]->StyleSetSpec(123,"fore:#00007F,back:#FFF8F8,italics"); # Variable $_[0]->StyleSetSpec(124,"fore:#999999,back:#FFF8F8"); # Comment $_[0]->StyleSetSpec(125,"fore:#666666,back:#FFF8F8,italics"); # One line comment $_[0]->StyleSetSpec(126,"fore:#00007F,back:#FFF8F8,italics"); # PHP variable in double quoted string $_[0]->StyleSetSpec(127,"fore:#000000,back:#FFF8F8"); # PHP operator } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/lua.pm0000644000175000017500000001044111573645307023363 0ustar rizlarizlapackage syntaxhighlighter::lua; $VERSION = '0.01'; sub load { use Wx qw(wxSTC_LEX_LUA wxSTC_H_TAG); my $lua_keywords = 'and break do else elseif end false for function if \ in local nil not or repeat return then true until while'; # Basic Functions my $lua_keywords2 = '_VERSION assert collectgarbage dofile error gcinfo loadfile loadstring \ print tonumber tostring type unpack'; #### Lua 4.0 Basic Functions my $lua4_keywords2 = '_ALERT _ERRORMESSAGE _INPUT _PROMPT _OUTPUT \ _STDERR _STDIN _STDOUT call dostring foreach foreachi getn globals newtype \ rawget rawset require sort tinsert tremove'; # String Manipulation & Mathematical Functions my $lua4_keywords3 = 'abs acos asin atan atan2 ceil cos deg exp \ floor format frexp gsub ldexp log log10 max min mod rad random randomseed \ sin sqrt strbyte strchar strfind strlen strlower strrep strsub strupper tan'; # Input and Output Facilities & System Facilities my $lua4_keywords4 = 'openfile closefile readfrom writeto appendto \ remove rename flush seek tmpfile tmpname read write \ clock date difftime execute exit getenv setlocale time'; #### Lua 5.0 Basic Functions my $lua5_keywords2 = '_G getfenv getmetatable ipairs loadlib next pairs pcall \ rawegal rawget rawset require setfenv setmetatable xpcall \ string table math coroutine io os debug'; # I put the library names here, so when highlighted standalone, they are probably variable name from Lua 4.0 times. # String Manipulation, Table Manipulation, Mathematical Functions (string & table & math) my $lua5_keywords3 = 'string.byte string.char string.dump string.find string.len \ string.lower string.rep string.sub string.upper string.format string.gfind string.gsub \ table.concat table.foreach table.foreachi table.getn table.sort table.insert table.remove table.setn \ math.abs math.acos math.asin math.atan math.atan2 math.ceil math.cos math.deg math.exp \ math.floor math.frexp math.ldexp math.log math.log10 math.max math.min math.mod \ math.pi math.rad math.random math.randomseed math.sin math.sqrt math.tan'; # Coroutine Manipulation, Input and Output Facilities, System Facilities (coroutine & io & os) my $lua5_keywords4 = 'coroutine.create coroutine.resume coroutine.status \ coroutine.wrap coroutine.yield \ io.close io.flush io.input io.lines io.open io.output io.read io.tmpfile io.type io.write \ io.stdin io.stdout io.stderr \ os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename \ os.setlocale os.time os.tmpname'; # I keep keywords5, 6, 7 & 8 for other libraries $_[0]->SetLexer(wxSTC_LEX_LUA); # Set Lexers to use $_[0]->SetKeyWords(0,$lua_keywords); $_[0]->SetKeyWords(1,$lua_keywords2.$lua4_keywords2.$lua5_keywords2); $_[0]->SetKeyWords(2,$lua4_keywords3.$lua5_keywords3); $_[0]->SetKeyWords(3,$lua4_keywords4.$lua5_keywords4); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Block comment (Lua 5.0) $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#ddffdd"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # String $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Character $_[0]->StyleSetSpec(8,"fore:#55ffff"); # Literal string $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (everything else...) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Other keywords (bozo test colors :-) $_[0]->StyleSetSpec(14,"fore:#44aa44"); # keywords3 $_[0]->StyleSetSpec(15,"fore:#55bb55"); # keywords4 $_[0]->StyleSetSpec(16,"fore:#66cc66"); # keywords5 $_[0]->StyleSetSpec(17,"fore:#66cc66"); # keywords6 $_[0]->StyleSetSpec(18,"fore:#77dd77"); # keywords7 $_[0]->StyleSetSpec(19,"fore:#88ee88"); # keywords8 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/perl.pm0000644000175000017500000001174011573645307023547 0ustar rizlarizlapackage syntaxhighlighter::perl; $VERSION = '0.05'; sub load { $_[0]->SetLexer( &Wx::wxSTC_LEX_PERL ); # Set Lexers to use $_[0]->SetKeyWords(0, 'NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ __WARN__ __DIE__ AUTOLOAD BEGIN CHECK CORE DESTROY END EQ GE GT INIT LE LT NE UNITCHECK abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir cmp connect continue cos crypt dbmclose dbmopen default defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eq eval exec exists exit exp fcntl fileno flock for foreach fork format formline ge getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst le length link listen local localtime lock log lstat lt m map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q qq qr quotemeta qu qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir s say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x xor y'); # Add new keyword. # $_[0]->StyleSetSpec( &Wx::wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(1,"fore:#ff0000"); # Error $_[0]->StyleSetSpec(2,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec(3,"fore:#004000,back:#E0FFE0,$(font.text),eolfilled"); # POD: = at beginning of line $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#ee7b00,back:#fff8f8"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600,back:#fffcff"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#555555"); # Symbols / Punctuation. Currently not used by LexPerl. $_[0]->StyleSetSpec(9,""); # Preprocessor. Currently not used by LexPerl. $_[0]->StyleSetSpec(10,"fore:#002200"); # Operators $_[0]->StyleSetSpec(11,"fore:#3355bb"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # Scalars: $var $_[0]->StyleSetSpec(13,"fore:#339933"); # Array: @var $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Hash: %var $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Symbol table: *var $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Regex: /re/ or m{re} $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Substitution: s/re/ore/ $_[0]->StyleSetSpec(19,"fore:#000000,back:#8080A0"); # Long Quote (qq, qr, qw, qx) -- obsolete: replaced by qq, qx, qr, qw $_[0]->StyleSetSpec(20,"fore:#ff7700,back:#f9f9d7"); # Back Ticks $_[0]->StyleSetSpec(21,"fore:#600000,back:#FFF0D8,eolfilled"); # Data Section: __DATA__ or __END__ at beginning of line $_[0]->StyleSetSpec(22,"fore:#000000,back:#DDD0DD"); # Here-doc (delimiter) $_[0]->StyleSetSpec(23,"fore:#7F007F,back:#DDD0DD,eolfilled,notbold"); # Here-doc (single quoted, q) $_[0]->StyleSetSpec(24,"fore:#7F007F,back:#DDD0DD,eolfilled,bold"); # Here-doc (double quoted, qq) $_[0]->StyleSetSpec(25,"fore:#7F007F,back:#DDD0DD,eolfilled,italics"); # Here-doc (back ticks, qx) $_[0]->StyleSetSpec(26,"fore:#7F007F,$(font.monospace),notbold"); # Single quoted string, generic $_[0]->StyleSetSpec(27,"fore:#ee7b00,back:#fff8f8"); # qq = Double quoted string $_[0]->StyleSetSpec(28,"fore:#ff7700,back:#f9f9d7"); # qx = Back ticks $_[0]->StyleSetSpec(29,"fore:#000000,back:#A0FFA0"); # qr = Regex $_[0]->StyleSetSpec(30,"fore:#f36600,back:#fff8f8"); # qw = Array } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/make.pm0000644000175000017500000000133311573645307023517 0ustar rizlarizlapackage syntaxhighlighter::make; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_MAKEFILE); sub load{ $_[0]->SetLexer( wxSTC_LEX_MAKEFILE ); $_[0]->SetKeyWords(0,''); $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec( 2,"fore:#007F00"); # Pre-processor or other comment: ! $_[0]->StyleSetSpec( 3,"fore:#000080"); # Variable: $(x) $_[0]->StyleSetSpec( 4,"fore:#7F007F"); # Operator $_[0]->StyleSetSpec( 5,"fore:#A00000"); # Target $_[0]->StyleSetSpec( 9,"fore:#7f0000,eolfilled");# Error $_[0]->StyleSetSpec(34,"fore:#0000ff,notbold");# Matched Operators $_[0]->StyleSetSpec(35,"fore:#ff0000,notbold");# Matched Operators } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/property.pm0000644000175000017500000000123011573645307024462 0ustar rizlarizlapackage syntaxhighlighter::property; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_PROPERTIES); sub load { $_[0]->SetLexer( wxSTC_LEX_PROPERTIES ); $_[0]->SetKeyWords(0,''); $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec( 2,"fore:#0000ff"); # Section $_[0]->StyleSetSpec( 3,"fore:#ff0000"); # Assignment operator $_[0]->StyleSetSpec( 4,"fore:#007700"); # Default value (@) $_[0]->StyleSetSpec( 5,"fore:#007b7b"); # Key $_[0]->StyleSetSpec(34,"fore:#0000ff,notbold");# Matched Operators $_[0]->StyleSetSpec(35,"fore:#ff0000,notbold");# Matched Operators } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/sh.pm0000644000175000017500000001000611573645307023211 0ustar rizlarizlapackage syntaxhighlighter::sh; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_PERL wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_PERL ); # Set Lexers for perl and Bash shell $_[0]->SetKeyWords(0,'alias \ ar asa awk banner basename bash bc bdiff break \ bunzip2 bzip2 cal calendar case cat cc cd chmod cksum \ clear cmp col comm compress continue cp cpio crypt \ csplit ctags cut date dc dd declare deroff dev df diff diff3 \ dircmp dirname do done du echo ed egrep elif else env \ esac eval ex exec exit expand export expr false fc \ fgrep fi file find fmt fold for function functions \ getconf getopt getopts grep gres hash head help \ history iconv id if in integer jobs join kill local lc \ let line ln logname look ls m4 mail mailx make \ man mkdir more mt mv newgrp nl nm nohup ntps od \ pack paste patch pathchk pax pcat perl pg pr print \ printf ps pwd read readonly red return rev rm rmdir \ sed select set sh shift size sleep sort spell \ split start stop strings strip stty sum suspend \ sync tail tar tee test then time times touch tr \ trap true tsort tty type typeset ulimit umask unalias \ uname uncompress unexpand uniq unpack unset until \ uudecode uuencode vi vim vpax wait wc whence which \ while who wpaste wstart xargs zcat'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#ff0000"); # Error $_[0]->StyleSetSpec(2,"fore:#aaaaaa)"); # Comment $_[0]->StyleSetSpec(3,"fore:#004000,back:#E0FFE0,$(font.text),eolfilled"); # POD: = at beginning of line $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#ee7b00,back:#fff8f8"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600,back:#fff8ff"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#555555"); # Symbols / Punctuation. Currently not used by LexPerl. $_[0]->StyleSetSpec(9,""); # Preprocessor. Currently not used by LexPerl. $_[0]->StyleSetSpec(10,"$(colour.operator),bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#3355bb"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # Scalars: $var $_[0]->StyleSetSpec(13,"fore:#339933"); # Array: @var $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Hash: %var $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Symbol table: *var $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Regex: /re/ or m{re} $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Substitution: s/re/ore/ $_[0]->StyleSetSpec(19,"fore:#FFFF00,back:#8080A0"); # Long Quote (qq, qr, qw, qx) -- obsolete: replaced by qq, qx, qr, qw $_[0]->StyleSetSpec(20,"fore:#FFFF00,back:#A08080"); # Back Ticks $_[0]->StyleSetSpec(21,"fore:#600000,back:#FFF0D8,eolfilled");# Data Section: __DATA__ or __END__ at beginning of line $_[0]->StyleSetSpec(22,"fore:#000000,back:#DDD0DD"); # Here-doc (delimiter) $_[0]->StyleSetSpec(23,"fore:#7F007F,back:#DDD0DD,eolfilled,notbold");# Here-doc (single quoted, q) $_[0]->StyleSetSpec(24,"fore:#7F007F,back:#DDD0DD,eolfilled,bold"); # Here-doc (double quoted, qq) $_[0]->StyleSetSpec(25,"fore:#7F007F,back:#DDD0DD,eolfilled,italics");# Here-doc (back ticks, qx) $_[0]->StyleSetSpec(26,"fore:#7F007F,$(font.monospace),notbold"); # Single quoted string, generic $_[0]->StyleSetSpec(27,"$(style.perl.6)"); # qq = Double quoted string $_[0]->StyleSetSpec(28,"$(style.perl.20)"); # qx = Back ticks $_[0]->StyleSetSpec(29,"$(style.perl.17)"); # qr = Regex $_[0]->StyleSetSpec(30,"fore:#f36600,back:#fff8f8"); # qw = Array } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/cs2.pm0000644000175000017500000000431711573645307023276 0ustar rizlarizla# alternative c# colors by Wolfgang Wagner package syntaxhighlighter::cs; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $cs_keywords = 'bstract as base bool break byte case catch char checked class \ const continue decimal default delegate do double else enum \ event explicit extern false finally fixed float for foreach goto if \ implicit in int interface internal is lock long namespace new null \ object operator out override params private protected public \ readonly ref return sbyte sealed short sizeof stackalloc static \ string struct switch this throw true try typeof uint ulong \ unchecked unsafe ushort using virtual void while'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$cs_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#909090"); # Comment $_[0]->StyleSetSpec(2,"fore:#909090"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#108810"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#108810"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#404040"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/asm.pm0000644000175000017500000002367611573645307023400 0ustar rizlarizlapackage syntaxhighlighter::asm; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_ASM wxSTC_H_TAG); # these keywords are taken from the masm book (v6.13) # updated with Intel Pentium 4, MMX, SSE, SSE2 instructions from NASM # (note that some are undocumented instructions) my $cpu_instruction = 'aaa aad aam aas adc add and call cbw \ clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt \ idiv imul in inc int into iret ja jae jb jbe jc jcxz je jg jge jl \ jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns \ jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop \ loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw \ mov movs movsb movsw mul neg nop not or out pop popf push pushf \ rcl rcr ret retf retn rol ror sahf sal sar sbb scas scasb scasw \ shl shr stc std sti stos stosb stosw sub test wait xchg xlat \ xlatb xor \ bound enter ins insb insw leave outs outsb outsw popa pusha pushw \ arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr \ bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf iretf \ jecxz lfs lgs lodsd loopd looped loopned loopnzd loopzd lss \ movsd movsx movzx outsd popad popfd pushad pushd pushfd scasd seta \ setae setb setbe setc sete setg setge setl setle setna setnae setnb \ setnbe setnc setne setng setnge setnl setnle setno setnp setns \ setnz seto setp setpe setpo sets setz shld shrd stosd \ bswap cmpxchg invd invlpg wbinvd xadd \ lock rep repe repne repnz repz'; # these are mostly non-MMX/SSE/SSE2 486+ instructions my $cpu_instruction2 = 'cflush cpuid emms femms \ cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc \ cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe \ cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge \ cmovge cmovnl cmovle cmovng cmovg cmovnle \ cmpxchg486 cmpxchg8b \ loadall loadall286 ibts icebp int1 int3 int01 int03 iretw \ popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc \ rsdc rsldt rsm rsts salc smi smint smintold svdc svldt svts \ syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr'; # fpu instructions, updated for 486+ my $fpu_instruction = 'f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp \ fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv \ fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 \ fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul \ fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv \ fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave \ fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp \ fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 \ fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos \ fstenvd fucom fucomp fucompp fcomi fcomip ffreep \ fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu'; # these are MMX, SSE, SSE2 instructions my $ext_instruction = 'addpd addps addsd addss andpd andps andnpd andnps \ cmpeqpd cmpltpd cmplepd cmpunordpd cmpnepd cmpnltpd cmpnlepd cmpordpd \ cmpeqps cmpltps cmpleps cmpunordps cmpneps cmpnltps cmpnleps cmpordps \ cmpeqsd cmpltsd cmplesd cmpunordsd cmpnesd cmpnltsd cmpnlesd cmpordsd \ cmpeqss cmpltss cmpless cmpunordss cmpness cmpnltss cmpnless cmpordss \ comisd comiss cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps \ cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtss2sd cvtss2si \ cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss \ cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si \ divpd divps divsd divss fxrstor fxsave ldmxscr lfence mfence \ maskmovdqu maskmovdq maxpd maxps paxsd maxss minpd minps minsd minss \ movapd movaps movdq2q movdqa movdqu movhlps movhpd movhps movd movq \ movlhps movlpd movlps movmskpd movmskps movntdq movnti movntpd movntps \ movntq movq2dq movsd movss movupd movups mulpd mulps mulsd mulss \ orpd orps packssdw packsswb packuswb paddb paddsb paddw paddsw \ paddd paddsiw paddq paddusb paddusw pand pandn pause paveb pavgb pavgw \ pavgusb pdistib pextrw pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd \ pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul \ pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub pmovmskb \ pmulhrwc pmulhriw pmulhrwa pmulhuw pmulhw pmullw pmuludq \ pmvzb pmvnzb pmvlzb pmvgezb pfnacc pfpnacc por prefetch prefetchw \ prefetchnta prefetcht0 prefetcht1 prefetcht2 pfrcp pfrcpit1 pfrcpit2 \ pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pf2iw pinsrw psadbw pshufd \ pshufhw pshuflw pshufw psllw pslld psllq pslldq psraw psrad \ psrlw psrld psrlq psrldq psubb psubw psubd psubq psubsb psubsw \ psubusb psubusw psubsiw pswapd punpckhbw punpckhwd punpckhdq punpckhqdq \ punpcklbw punpcklwd punpckldq punpcklqdq pxor rcpps rcpss \ rsqrtps rsqrtss sfence shufpd shufps sqrtpd sqrtps sqrtsd sqrtss \ stmxcsr subpd subps subsd subss ucomisd ucomiss \ unpckhpd unpckhps unpcklpd unpcklps xorpd xorps'; my $register = 'ah al ax bh bl bp bx ch cl cr0 cr2 cr3 cr4 cs \ cx dh di dl dr0 dr1 dr2 dr3 dr6 dr7 ds dx eax ebp ebx ecx edi edx \ es esi esp fs gs si sp ss st tr3 tr4 tr5 tr6 tr7 \ st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 \ xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7'; # masm directives my $directive = '.186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p \ .8086 .8087 .alpha .break .code .const .continue .cref .data .data? \ .dosseg .else .elseif .endif .endw .err .err1 .err2 .errb \ .errdef .errdif .errdifi .erre .erridn .erridni .errnb .errndef \ .errnz .exit .fardata .fardata? .if .lall .lfcond .list .listall \ .listif .listmacro .listmacroall .model .no87 .nocref .nolist \ .nolistif .nolistmacro .radix .repeat .sall .seq .sfcond .stack \ .startup .tfcond .type .until .untilcxz .while .xall .xcref \ .xlist alias align assume catstr comm comment db dd df dosseg dq \ dt dup dw echo else elseif elseif1 elseif2 elseifb elseifdef elseifdif \ elseifdifi elseife elseifidn elseifidni elseifnb elseifndef end \ endif endm endp ends eq equ even exitm extern externdef extrn for \ forc ge goto group gt high highword if if1 if2 ifb ifdef ifdif \ ifdifi ife ifidn ifidni ifnb ifndef include includelib instr invoke \ irp irpc label le length lengthof local low lowword lroffset \ lt macro mask mod .msfloat name ne offset opattr option org %out \ page popcontext proc proto ptr public purge pushcontext record \ repeat rept seg segment short size sizeof sizestr struc struct \ substr subtitle subttl textequ this title type typedef union while width'; my $directive_operand = '$ ? @b @f addr basic byte c carry? dword \ far far16 fortran fword near near16 overflow? parity? pascal qword \ real4 real8 real10 sbyte sdword sign? stdcall sword syscall tbyte \ vararg word zero? flat near32 far32 \ abs all assumes at casemap common compact \ cpu dotname emulator epilogue error export expr16 expr32 farstack flat \ forceframe huge language large listing ljmp loadds m510 medium memory \ nearstack nodotname noemulator nokeyword noljmp nom510 none nonunique \ nooldmacros nooldstructs noreadonly noscoped nosignextend nothing \ notpublic oldmacros oldstructs os_dos para private prologue radix \ readonly req scoped setif2 smallstack tiny use16 use32 uses'; # nasm directives, mostly complete, does not parse properly # the following: %!, %%, %+, %+n %-n, %{n} my $directive_nasm = 'db dw dd dq dt resb resw resd resq rest incbin equ times \ %define %idefine %xdefine %xidefine %undef %assign %iassign \ %strlen %substr %macro %imacro %endmacro %rotate .nolist \ %if %elif %else %endif %ifdef %ifndef %elifdef %elifndef \ %ifmacro %ifnmacro %elifmacro %elifnmacro %ifctk %ifnctk %elifctk %elifnctk \ %ifidn %ifnidn %elifidn %elifnidn %ifidni %ifnidni %elifidni %elifnidni \ %ifid %ifnid %elifid %elifnid %ifstr %ifnstr %elifstr %elifnstr \ %ifnum %ifnnum %elifnum %elifnnum %error %rep %endrep %exitrep \ %include %push %pop %repl struct endstruc istruc at iend align alignb \ %arg %stacksize %local %line \ bits use16 use32 section absolute extern global common cpu org \ section group import export'; my $directive_operand_nasm = 'a16 a32 o16 o32 byte word dword nosplit $ $$ seq wrt \ flat large small .text .data .bss near far \ %0 %1 %2 %3 %4 %5 %6 %7 %8 %9'; $_[0]->SetLexer( wxSTC_LEX_ASM ); # Set Lexers to use # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->SetKeyWords(0,$cpu_instruction.$cpu_instruction2); $_[0]->SetKeyWords(1,$fpu_instruction); $_[0]->SetKeyWords(2,$register); $_[0]->SetKeyWords(3,$cpu_instruction.$cpu_instruction2); $_[0]->SetKeyWords(4,$directive.$directive_nasm); $_[0]->SetKeyWords(5,$directive_operand.$directive_operand_nasm); $_[0]->SetKeyWords(6,$ext_instruction); $_[0]->StyleSetSpec( 0,"fore:#000000"); # default $_[0]->StyleSetSpec( 1,"fore:#adadad,italic"); # Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#007f7f,back:#eeeeee"); # String $_[0]->StyleSetSpec( 4,"fore:#cf007f"); # Operator $_[0]->StyleSetSpec( 5,"fore:#000077,bold"); # Identifier $_[0]->StyleSetSpec( 6,"fore:#ff5500,back:#ffffff"); # CPU instruction $_[0]->StyleSetSpec( 7,"fore:#ff3300,back:#f5f5f5"); # FPU instruction $_[0]->StyleSetSpec( 8,"fore:#118811"); # Register $_[0]->StyleSetSpec( 9,"fore:#bb6600,back:#f5f5f5"); # assembler Directive $_[0]->StyleSetSpec(10,"fore:#bb6644"); # assembler Directive Operand $_[0]->StyleSetSpec(11,"fore:#adadad"); # Comment block (GNU as /*...*/ syntax, unimplemented) $_[0]->StyleSetSpec(12,"fore:#228822"); # Character/String (single quote) (also character prefix in GNU as) $_[0]->StyleSetSpec(13,"fore:#ffeeee,back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Extended instructions $_[0]->StyleSetSpec(32,"fore:#808080"); # Assembler Styles } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/err.pm0000644000175000017500000000342711573645307023400 0ustar rizlarizlapackage syntaxhighlighter::err; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_ERRORLIST); sub load{ $_[0]->SetLexer( wxSTC_LEX_ERRORLIST ); $_[0]->SetKeyWords(0,''); $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#ff0000"); # python Error $_[0]->StyleSetSpec( 2,"fore:#800080"); # gcc Error $_[0]->StyleSetSpec( 3,"fore:#808000"); # Microsoft Error $_[0]->StyleSetSpec( 4,"fore:#0000ff"); # command or return status $_[0]->StyleSetSpec( 5,"fore:#b06000"); # Borland error and warning messages $_[0]->StyleSetSpec( 6,"fore:#ff0000"); # perl error and warning messages $_[0]->StyleSetSpec( 7,"fore:#ff0000"); # .NET tracebacks $_[0]->StyleSetSpec( 8,"back:#ff0000"); # Lua error and warning messages $_[0]->StyleSetSpec( 9,"fore:#ff00ff"); # ctags $_[0]->StyleSetSpec(10,"fore:#007f00"); # diff changed ! $_[0]->StyleSetSpec(11,"fore:#00007f"); # diff addition + $_[0]->StyleSetSpec(12,"fore:#007F7F"); # diff deletion - $_[0]->StyleSetSpec(13,"fore:#7f0000"); # diff message --- $_[0]->StyleSetSpec(14,"fore:#ff0000"); # PHP error $_[0]->StyleSetSpec(15,"fore:#ff0000"); # Essential Lahey Fortran 90 error $_[0]->StyleSetSpec(16,"fore:#ff0000"); # Intel Fortran Compiler error $_[0]->StyleSetSpec(17,"fore:#ff0000"); # Intel Fortran Compiler v8.0 error/warning $_[0]->StyleSetSpec(18,"fore:#ff0000"); # Absoft Pro Fortran 90/95 v8.2 error or warning $_[0]->StyleSetSpec(19,"fore:#ff0000"); # HTML Tidy $_[0]->StyleSetSpec(20,"fore:#ff0000"); # Java runtime stack trace $_[0]->StyleSetSpec(21,"fore:#000000"); # Text matched with find in files and message part of GCC errors $_[0]->StyleSetSpec(32,"fore:#B06000,small"); # $_[0]->StyleSetSpec(33,"fore:#000000,small"); # Ensures that spacing is not affected by line number styles } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/php.pm0000644000175000017500000002426111573645307023376 0ustar rizlarizlapackage syntaxhighlighter::php; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_PHPSCRIPT wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_PHPSCRIPT ); # Set Lexers to use $_[0]->SetKeyWords(0,' and argv as argc break case cfunction class continue declare default do \ die echo else elseif empty enddeclare endfor endforeach endif endswitch \ endwhile e_all e_parse e_error e_warning eval exit extends false for \ foreach function global http_cookie_vars http_get_vars http_post_vars \ http_post_files http_env_vars http_server_vars if include include_once \ list new not null old_function or parent php_os php_self php_version \ print require require_once return static switch stdclass this true var \ xor virtual while __file__ __line__ __sleep __wakeup'); # Add new keyword. $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#ff0000"); # Error $_[0]->StyleSetSpec(2,"fore:#9999dd)"); # Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # POD: = at beginning of line $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#ee7b00"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#555555"); # Symbols / Punctuation. Currently not used by LexPerl. $_[0]->StyleSetSpec(9,"fore:#555555"); # Preprocessor. Currently not used by LexPerl. $_[0]->StyleSetSpec(10,"fore:#800080"); # Operators $_[0]->StyleSetSpec(11,"fore:#3355bb"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # Scalars: $var $_[0]->StyleSetSpec(13,"fore:#339933"); # Array: @var $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Hash: %var $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Symbol table: *var $_[0]->StyleSetSpec(17,"fore:#000000"); # Regex: /re/ or m{re} $_[0]->StyleSetSpec(18,"fore:#0000FF"); # PHP $_[0]->StyleSetSpec(19,"fore:#FFFF00"); # Long Quote (qq, qr, qw, qx) -- obsolete: replaced by qq, qx, qr, qw $_[0]->StyleSetSpec(20,"fore:#FFFF00"); # Back Ticks $_[0]->StyleSetSpec(21,"fore:#600000"); # Data Section: __DATA__ or __END__ at beginning of line $_[0]->StyleSetSpec(22,"fore:#000000"); # Here-doc (delimiter) $_[0]->StyleSetSpec(23,"fore:#7F007F");# Here-doc (single quoted, q) $_[0]->StyleSetSpec(24,"fore:#7F007F"); # Here-doc (double quoted, qq) $_[0]->StyleSetSpec(25,"fore:#7F007F"); # Here-doc (back ticks, qx) $_[0]->StyleSetSpec(26,"fore:#7F007F"); # Single quoted string, generic $_[0]->StyleSetSpec(27,"fore:#f36600"); # qq = Double quoted string $_[0]->StyleSetSpec(28,"fore:#228822"); # qx = Back ticks $_[0]->StyleSetSpec(29,"fore:#f36600"); # qr = Regex $_[0]->StyleSetSpec(30,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(31,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(32,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(33,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(34,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(35,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(36,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(37,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(38,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(39,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(40,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(41,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(42,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(43,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(44,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(45,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(46,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(47,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(48,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(49,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(50,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(51,"fore:#228822"); # qw = Array $_[0]->StyleSetSpec(52,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(53,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(54,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(55,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(56,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(57,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(58,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(59,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(60,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(61,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(62,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(63,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(64,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(65,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(66,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(67,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(68,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(69,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(70,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(71,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(72,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(73,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(74,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(75,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(76,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(77,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(78,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(79,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(80,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(81,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(82,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(83,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(84,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(85,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(86,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(87,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(88,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(89,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(90,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(91,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(92,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(93,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(94,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(95,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(96,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(97,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(98,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(99,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(100,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(101,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(102,"fore:#228822"); # qw = Array #$_[0]->StyleSetSpec(103,"fore:#228822"); # qw = Array # $_[0]->StyleSetSpec(104,"fore:#00007F,italics,back:#FFF8F8"); # PHP complex variable $_[0]->StyleSetSpec(105,"fore:#999999,back:#F8F8ff,italics"); # One line comment $_[0]->StyleSetSpec(106,"fore:#00007F,back:#F8F8ff,italics"); # PHP variable in double quoted string $_[0]->StyleSetSpec(107,"fore:#002200,back:#F8F8ff"); # PHP operator $_[0]->StyleSetSpec(108,"fore:#000033,back:#F8F8ff,eolfilled"); # PHP Default $_[0]->StyleSetSpec(109,"fore:#007F00,back:#F8F8ff"); # Double quoted String $_[0]->StyleSetSpec(110,"fore:#009F00,back:#F8F8ff"); # Single quoted string $_[0]->StyleSetSpec(111,"fore:#000077,bold,back:#F8ffff"); # Keyword $_[0]->StyleSetSpec(112,"fore:#007f7f,back:#F8F8ff"); # Number $_[0]->StyleSetSpec(113,"fore:#228822,back:#F8F8ff,italics"); # Variable $_[0]->StyleSetSpec(114,"fore:#999999,back:#F8F8ff"); # Comment $_[0]->StyleSetSpec(115,"fore:#666666,back:#F8F8ff,italics"); # One line comment $_[0]->StyleSetSpec(116,"fore:#00007F,back:#F8F8ff,italics"); # PHP variable in double quoted string $_[0]->StyleSetSpec(117,"fore:#000000,back:#F8F8ff"); # PHP operator # $_[0]->StyleSetSpec(118,"fore:#000033,back:#F8F8ff,eolfilled"); # PHP Default $_[0]->StyleSetSpec(119,"fore:#007F00,back:#F8F8ff"); # Double quoted String $_[0]->StyleSetSpec(120,"fore:#009F00,back:#F8F8ff"); # Single quoted string $_[0]->StyleSetSpec(121,"fore:#7F007F,back:#F8F8ff,italics"); # Keyword $_[0]->StyleSetSpec(122,"fore:#CC9900,back:#F8F8ff"); # Number $_[0]->StyleSetSpec(123,"fore:#00007F,back:#F8F8ff,italics"); # Variable $_[0]->StyleSetSpec(124,"fore:#777777,back:#F8F8ff"); # Comment $_[0]->StyleSetSpec(125,"fore:#aaaaaa,back:#F8F8Ff,italics"); # One line comment $_[0]->StyleSetSpec(126,"fore:#00007F,back:#F8F8Ff,italics"); # PHP variable in double quoted string $_[0]->StyleSetSpec(127,"fore:#000000,back:#F8F8Ff"); # PHP operator } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/cpp.pm0000644000175000017500000000610211573645307023363 0ustar rizlarizlapackage syntaxhighlighter::cpp; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $cpp_keywords = 'and and_eq asm auto bitand bitor bool break \ case catch char class compl const const_cast continue \ default delete do double dynamic_cast else enum explicit export extern false float for \ friend goto if inline int long mutable namespace new not not_eq \ operator or or_eq private protected public \ register reinterpret_cast return short signed sizeof static static_cast struct switch \ template this throw true try typedef typeid typename union unsigned using \ virtual void volatile wchar_t while xor xor_eq'; # keywords2 is for highlighting user defined keywords or function calls or similar # keywords3 is for doc comment keywords, highlighted in style 17 my $cpp_keywords3 = 'a addindex addtogroup anchor arg attention \ author b brief bug c class code date def defgroup deprecated dontinclude \ e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception \ f$ f[ f] file fn hideinitializer htmlinclude htmlonly \ if image include ingroup internal invariant interface latexonly li line link \ mainpage name namespace nosubgrouping note overload \ p page par param post pre ref relates remarks return retval \ sa section see showinitializer since skip skipline struct subsection \ test throw todo typedef union until \ var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$cpp_keywords); $_[0]->SetKeyWords(2,$cpp_keywords3); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec(2,"fore:#bbbbbb)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000000,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb5577, bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#334499"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/context.pm0000644000175000017500000001755311573645307024301 0ustar rizlarizlapackage syntaxhighlighter::context; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_TEX wxSTC_H_TAG); my $tex_primitives = 'above abovedisplayshortskip abovedisplayskip abovewithdelims accent adjdemerits advance afterassignment aftergroup atop atopwithdelims badness baselineskip batchmode begingroup belowdisplayshortskip belowdisplayskip binoppenalty botmark box boxmaxdepth brokenpenalty catcode char chardef cleaders closein closeout clubpenalty copy count countdef cr crcr csname day deadcycles def defaulthyphenchar defaultskewchar delcode delimiter delimiterfactor delimeters delimitershortfall delimeters dimen dimendef discretionary displayindent displaylimits displaystyle displaywidowpenalty displaywidth divide doublehyphendemerits dp dump edef else emergencystretch end endcsname endgroup endinput endlinechar eqno errhelp errmessage errorcontextlines errorstopmode escapechar everycr everydisplay everyhbox everyjob everymath everypar everyvbox exhyphenpenalty expandafter fam fi finalhyphendemerits firstmark floatingpenalty font fontdimen fontname futurelet gdef global group globaldefs halign hangafter hangindent hbadness hbox hfil horizontal hfill horizontal hfilneg hfuzz hoffset holdinginserts hrule hsize hskip hss horizontal ht hyphenation hyphenchar hyphenpenalty hyphen if ifcase ifcat ifdim ifeof iffalse ifhbox ifhmode ifinner ifmmode ifnum ifodd iftrue ifvbox ifvmode ifvoid ifx ignorespaces immediate indent input inputlineno input insert insertpenalties interlinepenalty jobname kern language lastbox lastkern lastpenalty lastskip lccode leaders left lefthyphenmin leftskip leqno let limits linepenalty line lineskip lineskiplimit long looseness lower lowercase mag mark mathaccent mathbin mathchar mathchardef mathchoice mathclose mathcode mathinner mathop mathopen mathord mathpunct mathrel mathsurround maxdeadcycles maxdepth meaning medmuskip message mkern month moveleft moveright mskip multiply muskip muskipdef newlinechar noalign noboundary noexpand noindent nolimits nonscript scriptscript nonstopmode nulldelimiterspace nullfont number omit openin openout or outer output outputpenalty over overfullrule overline overwithdelims pagedepth pagefilllstretch pagefillstretch pagefilstretch pagegoal pageshrink pagestretch pagetotal par parfillskip parindent parshape parskip patterns pausing penalty postdisplaypenalty predisplaypenalty predisplaysize pretolerance prevdepth prevgraf radical raise read relax relpenalty right righthyphenmin rightskip romannumeral scriptfont scriptscriptfont scriptscriptstyle scriptspace scriptstyle scrollmode setbox setlanguage sfcode shipout show showbox showboxbreadth showboxdepth showlists showthe skewchar skip skipdef spacefactor spaceskip span special splitbotmark splitfirstmark splitmaxdepth splittopskip string tabskip textfont textstyle the thickmuskip thinmuskip time toks toksdef tolerance topmark topskip tracingcommands tracinglostchars tracingmacros tracingonline tracingoutput tracingpages tracingparagraphs tracingrestores tracingstats uccode uchyph underline unhbox unhcopy unkern unpenalty unskip unvbox unvcopy uppercase vadjust valign vbadness vbox vcenter vfil vfill vfilneg vfuzz voffset vrule vsize vskip vsplit vss vtop wd widowpenalty write xdef xleaders xspaceskip year'; my $etex_primitives = 'beginL beginR botmarks clubpenalties currentgrouplevel currentgrouptype currentifbranch currentiflevel currentiftype detokenize dimexpr displaywidowpenalties endL endR eTeXrevision eTeXversion everyeof firstmarks fontchardp fontcharht fontcharic fontcharwd glueexpr glueshrink glueshrinkorder gluestretch gluestretchorder gluetomu ifcsname ifdefined iffontchar interactionmode interactionmode interlinepenalties lastlinefit lastnodetype marks topmarks middle muexpr mutoglue numexpr pagediscards parshapedimen parshapeindent parshapelength predisplaydirection savinghyphcodes savingvdiscards scantokens showgroups showifs showtokens splitdiscards splitfirstmarks TeXXeTstate tracingassigns tracinggroups tracingifs tracingnesting tracingscantokens unexpanded unless widowpenalties'; my $pdftex_primitives = 'pdfadjustspacing pdfannot pdfavoidoverfull pdfcatalog pdfcompresslevel pdfdecimaldigits pdfdest pdfdestmargin pdfendlink pdfendthread pdffontattr pdffontexpand pdffontname pdffontobjnum pdffontsize pdfhorigin pdfimageresolution pdfincludechars pdfinfo pdflastannot pdflastdemerits pdflastobj pdflastvbreakpenalty pdflastxform pdflastximage pdflastximagepages pdflastxpos pdflastypos pdflinesnapx pdflinesnapy pdflinkmargin pdfliteral pdfmapfile pdfmaxpenalty pdfminpenalty pdfmovechars pdfnames pdfobj pdfoptionpdfminorversion pdfoutline pdfoutput pdfpageattr pdfpageheight pdfpageresources pdfpagesattr pdfpagewidth pdfpkresolution pdfprotrudechars pdfrefobj pdfrefxform pdfrefximage pdfsavepos pdfsnaprefpoint pdfsnapx pdfsnapy pdfstartlink pdfstartthread pdftexrevision pdftexversion pdfthread pdfthreadmargin pdfuniqueresname pdfvorigin pdfxform pdfximage'; my $omega_primitives = 'odelimiter omathaccent omathchar oradical omathchardef omathcode odelcode leftghost rightghost charwd charht chardp charit localleftbox localrightbox localinterlinepenalty localbrokenpenalty pagedir bodydir pardir textdir mathdir boxdir nextfakemath pagewidth pageheight pagerightoffset pagebottomoffset nullocp nullocplist ocp externalocp ocplist pushocplist popocplist clearocplists ocptracelevel addbeforeocplist addafterocplist removebeforeocplist removeafterocplist OmegaVersion InputTranslation OutputTranslation DefaultInputTranslation DefaultOutputTranslation noInputTranslation noOutputTranslation InputMode OutputMode DefaultInputMode DefaultOutputMode noInputMode noOutputMode noDefaultInputMode noDefaultOutputMode'; # only the macros that make sense: my $partial_tex_macros = 'TeX bgroup egroup endgraf space empty null newcount newdimen newskip newmuskip newbox newtoks newhelp newread newwrite newfam newlanguage newinsert newif maxdimen magstephalf magstep frenchspacing nonfrenchspacing normalbaselines obeylines obeyspaces raggedright ttraggedright thinspace negthinspace enspace enskip quad qquad smallskip medskip bigskip removelastskip topglue vglue hglue break nobreak allowbreak filbreak goodbreak smallbreak medbreak bigbreak line leftline rightline centerline rlap llap underbar strutbox strut cases matrix pmatrix bordermatrix eqalign displaylines eqalignno leqalignno pageno folio tracingall showhyphens fmtname fmtversion hphantom vphantom phantom smash'; my $partial_etex_macros = 'eTeX newmarks grouptype interactionmode nodetype iftype tracingall loggingall tracingnone'; $_[0]->SetLexer(wxSTC_LEX_TEX); # Set Lexers to use $_[0]->SetKeyWords(0,$tex_primitives.$partial_tex_macros); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # Default $_[0]->StyleSetSpec(1,"fore:#007f7f"); # Special $_[0]->StyleSetSpec(2,"fore:#7f0000)"); # Group $_[0]->StyleSetSpec(3,"fore:#7f7f00"); # Symbol $_[0]->StyleSetSpec(4,"fore:#007f00"); # Command $_[0]->StyleSetSpec(5,"fore:#000000"); # Text $_[0]->StyleSetSpec(34,"fore:#00007f"); # Identifiers $_[0]->StyleSetSpec(35,"fore:#7f007f"); # Identifiers } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/matlab.pm0000644000175000017500000000151711573645307024046 0ustar rizlarizlapackage syntaxhighlighter::matlab; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_MATLAB); sub load { $_[0]->SetLexer( wxSTC_LEX_MATLAB ); $_[0]->SetKeyWords(0,'break case catch continue else elseif end for function \ global if otherwise persistent return switch try while'); $_[0]->StyleSetSpec( 0,"fore:#000000"); # White space $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec( 2,"fore:#b06000,bold"); # Command $_[0]->StyleSetSpec( 3,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 4,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 5,"fore:#f36600,back:#fffcff"); # String (5=single quoted, 8=double quoted) $_[0]->StyleSetSpec( 6,"fore:#800080"); # Operator $_[0]->StyleSetSpec( 7,"fore:#3355bb"); # Identifier $_[0]->StyleSetSpec( 8,"fore:#ee7b00,back:#fff8f8"); } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/java.pm0000644000175000017500000000400511573645307023522 0ustar rizlarizlapackage syntaxhighlighter::java; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_CPP wxSTC_H_TAG); my $java_keywords = 'abstract assert boolean break byte case catch char class \ const continue default do double else extends final finally float for future \ generic goto if implements import inner instanceof int interface long \ native new null outer package private protected public rest \ return short static super switch synchronized this throw throws \ transient try var void volatile while'; $_[0]->SetLexer(wxSTC_LEX_CPP); # Set Lexers to use $_[0]->SetKeyWords(0,$java_keywords); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # White space $_[0]->StyleSetSpec(1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec(2,"fore:#cccccc)"); # Line Comment $_[0]->StyleSetSpec(3,"fore:#004000"); # Doc comment $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#7788bb,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#555555,back:#ddeecc"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#555555,back:#eeeebb"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#55ffff"); # UUIDs (only in IDL) $_[0]->StyleSetSpec(9,"fore:#228833"); # Preprocessor $_[0]->StyleSetSpec(10,"fore:#bb7799,bold"); # Operators $_[0]->StyleSetSpec(11,"fore:#778899"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # End of line where string is not closed $_[0]->StyleSetSpec(13,"fore:#339933"); # Verbatim strings for C# $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Regular expressions for JavaScript $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Doc Comment Line $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Comment keyword $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Comment keyword error # Braces are only matched in operator style braces.cpp.style=10 $_[0]->StyleSetSpec(32,"fore:#000000"); # Default } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/ps.pm0000644000175000017500000001466611573645307023241 0ustar rizlarizlapackage syntaxhighlighter::ps; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_PS wxSTC_H_TAG); # Postscript level 1 operators my $ps_keywords = 'FontDirectory StandardEncoding UserObjects abs add aload anchorsearch and arc arcn arcto array ashow astore atan awidthshow begin bind bitshift bytesavailable cachestatus ceiling charpath clear cleardictstack cleartomark clip clippath closefile closepath concat concatmatrix copy copypage cos count countdictstack countexecstack counttomark currentcmykcolor currentcolorspace currentdash currentdict currentfile currentflat currentfont currentgray currenthsbcolor currentlinecap currentlinejoin currentlinewidth currentmatrix currentmiterlimit currentpagedevice currentpoint currentrgbcolor currentscreen currenttransfer cvi cvlit cvn cvr cvrs cvs cvx def defaultmatrix definefont dict dictstack div dtransform dup echo end eoclip eofill eq erasepage errordict exch exec execstack executeonly executive exit exp false file fill findfont flattenpath floor flush flushfile for forall ge get getinterval grestore grestoreall gsave gt idetmatrix idiv idtransform if ifelse image imagemask index initclip initgraphics initmatrix inustroke invertmatrix itransform known kshow le length lineto ln load log loop lt makefont mark matrix maxlength mod moveto mul ne neg newpath noaccess nor not null nulldevice or pathbbox pathforall pop print prompt pstack put putinterval quit rand rcheck rcurveto read readhexstring readline readonly readstring rectstroke repeat resetfile restore reversepath rlineto rmoveto roll rotate round rrand run save scale scalefont search setblackgeneration setcachedevice setcachelimit setcharwidth setcolorscreen setcolortransfer setdash setflat setfont setgray sethsbcolor setlinecap setlinejoin setlinewidth setmatrix setmiterlimit setpagedevice setrgbcolor setscreen settransfer setvmthreshold show showpage sin sqrt srand stack start status statusdict stop stopped store string stringwidth stroke strokepath sub systemdict token token transform translate true truncate type ueofill undefineresource userdict usertime version vmstatus wcheck where widthshow write writehexstring writestring xcheck xor'; # Postscript level 2 operators my $ps_keywords2 = 'GlobalFontDirectory ISOLatin1Encoding SharedFontDirectory UserObject arct colorimage cshow currentblackgeneration currentcacheparams currentcmykcolor currentcolor currentcolorrendering currentcolorscreen currentcolorspace currentcolortransfer currentdevparams currentglobal currentgstate currenthalftone currentobjectformat currentoverprint currentpacking currentpagedevice currentshared currentstrokeadjust currentsystemparams currentundercolorremoval currentuserparams defineresource defineuserobject deletefile execform execuserobject filenameforall fileposition filter findencoding findresource gcheck globaldict glyphshow gstate ineofill infill instroke inueofill inufill inustroke languagelevel makepattern packedarray printobject product realtime rectclip rectfill rectstroke renamefile resourceforall resourcestatus revision rootfont scheck selectfont serialnumber setbbox setblackgeneration setcachedevice2 setcacheparams setcmykcolor setcolor setcolorrendering setcolorscreen setcolorspace setcolortranfer setdevparams setfileposition setglobal setgstate sethalftone setobjectformat setoverprint setpacking setpagedevice setpattern setshared setstrokeadjust setsystemparams setucacheparams setundercolorremoval setuserparams setvmthreshold shareddict startjob uappend ucache ucachestatus ueofill ufill undef undefinefont undefineresource undefineuserobject upath ustroke ustrokepath vmreclaim writeobject xshow xyshow yshow'; # Postscript level 3 operators my $ps_keywords3 = 'cliprestore clipsave composefont currentsmoothness findcolorrendering setsmoothness shfill'; # RIP-specific operators (Ghostscript) my $ps_keywords4 = '.begintransparencygroup .begintransparencymask .bytestring .charboxpath .currentaccuratecurves .currentblendmode .currentcurvejoin .currentdashadapt .currentdotlength .currentfilladjust2 .currentlimitclamp .currentopacityalpha .currentoverprintmode .currentrasterop .currentshapealpha .currentsourcetransparent .currenttextknockout .currenttexturetransparent .dashpath .dicttomark .discardtransparencygroup .discardtransparencymask .endtransparencygroup .endtransparencymask .execn .filename .filename .fileposition .forceput .forceundef .forgetsave .getbitsrect .getdevice .inittransparencymask .knownget .locksafe .makeoperator .namestring .oserrno .oserrorstring .peekstring .rectappend .runandhide .setaccuratecurves .setblendmode .setcurvejoin .setdashadapt .setdebug .setdefaultmatrix .setdotlength .setfilladjust2 .setlimitclamp .setmaxlength .setopacityalpha .setoverprintmode .setrasterop .setsafe .setshapealpha .setsourcetransparent .settextknockout .settexturetransparent .stringbreak .stringmatch .tempfile .type1decrypt .type1encrypt .type1execchar .unread arccos arcsin copydevice copyscanlines currentdevice finddevice findlibfile findprotodevice flushpage getdeviceprops getenv makeimagedevice makewordimagedevice max min putdeviceprops setdevice'; $_[0]->SetLexer(wxSTC_LEX_PS); # Set Lexers to use $_[0]->SetKeyWords(0,$ps_keywords1); $_[0]->SetKeyWords(1,$ps_keywords2); $_[0]->SetKeyWords(2,$ps_keywords3); $_[0]->SetKeyWords(3,$ps_keywords4); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#bbbbbb"); # Comment $_[0]->StyleSetSpec( 2,"fore:#aaaaaa,back:#EEffEE"); # DSC comment $_[0]->StyleSetSpec( 3,"fore:#999999,back:#EEffEE"); # DSC comment value $_[0]->StyleSetSpec( 4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 5,"fore:#00007f"); # Name $_[0]->StyleSetSpec( 6,"fore:#CC3300,bold"); # Keyword $_[0]->StyleSetSpec( 7,"fore:#ff9900"); # Literal $_[0]->StyleSetSpec( 8,"fore:#ffbb00"); # Immediately evaluated literal $_[0]->StyleSetSpec( 9,"fore:#7f007f"); # Array parenthesis $_[0]->StyleSetSpec(10,"fore:#9fcc9f"); # Dictionary parenthesis $_[0]->StyleSetSpec(11,"fore:#007f00"); # Procedure parenthesis $_[0]->StyleSetSpec(12,"fore:#000000"); # Text $_[0]->StyleSetSpec(13,"fore:#000000,back:#EEEEEE"); # Hex string $_[0]->StyleSetSpec(14,"fore:#000000,back:#dddddd"); # Base85 string $_[0]->StyleSetSpec(15,"fore:#ff0000"); # Bad string character } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/python.pm0000644000175000017500000000300211573645307024116 0ustar rizlarizlapackage syntaxhighlighter::python; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_PYTHON wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_PYTHON ); # Set Lexers to use $_[0]->SetKeyWords(0,'and assert break class continue def del elif \ else except exec finally for from global if import in is lambda None \ not or pass print raise return try while yield'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace (SCE_CONF_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#777777"); # Comment (SCE_CONF_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#3350ff"); # Number (SCE_CONF_NUMBER) $_[0]->StyleSetSpec( 3,"fore:#888820"); # String $_[0]->StyleSetSpec( 4,"fore:#202020"); # Single quoted string $_[0]->StyleSetSpec( 5,"fore:#208820"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#882020"); # Triple quotes $_[0]->StyleSetSpec( 7,"fore:#202020"); # Triple double quotes $_[0]->StyleSetSpec( 8,"fore:#209999"); # Class name definition $_[0]->StyleSetSpec( 9,"fore:#202020"); # Function or method name definition $_[0]->StyleSetSpec(10,"fore:#000000"); # Operators $_[0]->StyleSetSpec(11,"fore:#777777"); # Identifiers $_[0]->StyleSetSpec(12,"fore:#7f7f7f"); # Comment-blocks $_[0]->StyleSetSpec(13,"fore:#000000,back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec(34,"fore:#0000ff"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#ff0000"); # Matched Operators } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/tex.pm0000644000175000017500000001754711573645307023420 0ustar rizlarizlapackage syntaxhighlighter::tex; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_TEX wxSTC_H_TAG); my $tex_primitives = 'above abovedisplayshortskip abovedisplayskip abovewithdelims accent adjdemerits advance afterassignment aftergroup atop atopwithdelims badness baselineskip batchmode begingroup belowdisplayshortskip belowdisplayskip binoppenalty botmark box boxmaxdepth brokenpenalty catcode char chardef cleaders closein closeout clubpenalty copy count countdef cr crcr csname day deadcycles def defaulthyphenchar defaultskewchar delcode delimiter delimiterfactor delimeters delimitershortfall delimeters dimen dimendef discretionary displayindent displaylimits displaystyle displaywidowpenalty displaywidth divide doublehyphendemerits dp dump edef else emergencystretch end endcsname endgroup endinput endlinechar eqno errhelp errmessage errorcontextlines errorstopmode escapechar everycr everydisplay everyhbox everyjob everymath everypar everyvbox exhyphenpenalty expandafter fam fi finalhyphendemerits firstmark floatingpenalty font fontdimen fontname futurelet gdef global group globaldefs halign hangafter hangindent hbadness hbox hfil horizontal hfill horizontal hfilneg hfuzz hoffset holdinginserts hrule hsize hskip hss horizontal ht hyphenation hyphenchar hyphenpenalty hyphen if ifcase ifcat ifdim ifeof iffalse ifhbox ifhmode ifinner ifmmode ifnum ifodd iftrue ifvbox ifvmode ifvoid ifx ignorespaces immediate indent input inputlineno input insert insertpenalties interlinepenalty jobname kern language lastbox lastkern lastpenalty lastskip lccode leaders left lefthyphenmin leftskip leqno let limits linepenalty line lineskip lineskiplimit long looseness lower lowercase mag mark mathaccent mathbin mathchar mathchardef mathchoice mathclose mathcode mathinner mathop mathopen mathord mathpunct mathrel mathsurround maxdeadcycles maxdepth meaning medmuskip message mkern month moveleft moveright mskip multiply muskip muskipdef newlinechar noalign noboundary noexpand noindent nolimits nonscript scriptscript nonstopmode nulldelimiterspace nullfont number omit openin openout or outer output outputpenalty over overfullrule overline overwithdelims pagedepth pagefilllstretch pagefillstretch pagefilstretch pagegoal pageshrink pagestretch pagetotal par parfillskip parindent parshape parskip patterns pausing penalty postdisplaypenalty predisplaypenalty predisplaysize pretolerance prevdepth prevgraf radical raise read relax relpenalty right righthyphenmin rightskip romannumeral scriptfont scriptscriptfont scriptscriptstyle scriptspace scriptstyle scrollmode setbox setlanguage sfcode shipout show showbox showboxbreadth showboxdepth showlists showthe skewchar skip skipdef spacefactor spaceskip span special splitbotmark splitfirstmark splitmaxdepth splittopskip string tabskip textfont textstyle the thickmuskip thinmuskip time toks toksdef tolerance topmark topskip tracingcommands tracinglostchars tracingmacros tracingonline tracingoutput tracingpages tracingparagraphs tracingrestores tracingstats uccode uchyph underline unhbox unhcopy unkern unpenalty unskip unvbox unvcopy uppercase vadjust valign vbadness vbox vcenter vfil vfill vfilneg vfuzz voffset vrule vsize vskip vsplit vss vtop wd widowpenalty write xdef xleaders xspaceskip year'; my $etex_primitives = 'beginL beginR botmarks clubpenalties currentgrouplevel currentgrouptype currentifbranch currentiflevel currentiftype detokenize dimexpr displaywidowpenalties endL endR eTeXrevision eTeXversion everyeof firstmarks fontchardp fontcharht fontcharic fontcharwd glueexpr glueshrink glueshrinkorder gluestretch gluestretchorder gluetomu ifcsname ifdefined iffontchar interactionmode interactionmode interlinepenalties lastlinefit lastnodetype marks topmarks middle muexpr mutoglue numexpr pagediscards parshapedimen parshapeindent parshapelength predisplaydirection savinghyphcodes savingvdiscards scantokens showgroups showifs showtokens splitdiscards splitfirstmarks TeXXeTstate tracingassigns tracinggroups tracingifs tracingnesting tracingscantokens unexpanded unless widowpenalties'; my $pdftex_primitives = 'pdfadjustspacing pdfannot pdfavoidoverfull pdfcatalog pdfcompresslevel pdfdecimaldigits pdfdest pdfdestmargin pdfendlink pdfendthread pdffontattr pdffontexpand pdffontname pdffontobjnum pdffontsize pdfhorigin pdfimageresolution pdfincludechars pdfinfo pdflastannot pdflastdemerits pdflastobj pdflastvbreakpenalty pdflastxform pdflastximage pdflastximagepages pdflastxpos pdflastypos pdflinesnapx pdflinesnapy pdflinkmargin pdfliteral pdfmapfile pdfmaxpenalty pdfminpenalty pdfmovechars pdfnames pdfobj pdfoptionpdfminorversion pdfoutline pdfoutput pdfpageattr pdfpageheight pdfpageresources pdfpagesattr pdfpagewidth pdfpkresolution pdfprotrudechars pdfrefobj pdfrefxform pdfrefximage pdfsavepos pdfsnaprefpoint pdfsnapx pdfsnapy pdfstartlink pdfstartthread pdftexrevision pdftexversion pdfthread pdfthreadmargin pdfuniqueresname pdfvorigin pdfxform pdfximage'; my $omega_primitives = 'odelimiter omathaccent omathchar oradical omathchardef omathcode odelcode leftghost rightghost charwd charht chardp charit localleftbox localrightbox localinterlinepenalty localbrokenpenalty pagedir bodydir pardir textdir mathdir boxdir nextfakemath pagewidth pageheight pagerightoffset pagebottomoffset nullocp nullocplist ocp externalocp ocplist pushocplist popocplist clearocplists ocptracelevel addbeforeocplist addafterocplist removebeforeocplist removeafterocplist OmegaVersion InputTranslation OutputTranslation DefaultInputTranslation DefaultOutputTranslation noInputTranslation noOutputTranslation InputMode OutputMode DefaultInputMode DefaultOutputMode noInputMode noOutputMode noDefaultInputMode noDefaultOutputMode'; # only the macros that make sense: my $partial_tex_macros = 'TeX bgroup egroup endgraf space empty null newcount newdimen newskip newmuskip newbox newtoks newhelp newread newwrite newfam newlanguage newinsert newif maxdimen magstephalf magstep frenchspacing nonfrenchspacing normalbaselines obeylines obeyspaces raggedright ttraggedright thinspace negthinspace enspace enskip quad qquad smallskip medskip bigskip removelastskip topglue vglue hglue break nobreak allowbreak filbreak goodbreak smallbreak medbreak bigbreak line leftline rightline centerline rlap llap underbar strutbox strut cases matrix pmatrix bordermatrix eqalign displaylines eqalignno leqalignno pageno folio tracingall showhyphens fmtname fmtversion hphantom vphantom phantom smash'; my $partial_etex_macros = 'eTeX newmarks grouptype interactionmode nodetype iftype tracingall loggingall tracingnone'; $_[0]->SetLexer(wxSTC_LEX_TEX); # Set Lexers to use $_[0]->SetKeyWords(0,$tex_primitives.$partial_tex_macros); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); $_[0]->StyleSetSpec(0,"fore:#202020"); # Default $_[0]->StyleSetSpec(1,"fore:#007f7f"); # Special $_[0]->StyleSetSpec(2,"fore:#7f0000)"); # Group $_[0]->StyleSetSpec(3,"fore:#7f7f00"); # Symbol $_[0]->StyleSetSpec(4,"fore:#007f00"); # Command $_[0]->StyleSetSpec(5,"fore:#000000"); # Text $_[0]->StyleSetSpec(34,"fore:#00007f"); # Identifiers $_[0]->StyleSetSpec(35,"fore:#7f007f"); # Identifiers } 1;kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/ruby.pm0000644000175000017500000000336711573645307023574 0ustar rizlarizlapackage syntaxhighlighter::ruby; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_RUBY wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_RUBY ); # Set Lexers to use $_[0]->SetKeyWords(0,'__FILE__ and def end in or self unless __LINE__ begin \ defined? ensure module redo super until BEGIN break do false next rescue \ then when END case else for nil require retry true while alias class elsif if \ not return undef yield'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # whitespace (SCE_CONF_DEFAULT) $_[0]->StyleSetSpec( 1,"fore:#555555"); # Comment (SCE_CONF_COMMENT) $_[0]->StyleSetSpec( 2,"fore:#3350ff"); # Number (SCE_CONF_NUMBER) $_[0]->StyleSetSpec( 3,"fore:#888820"); # String $_[0]->StyleSetSpec( 4,"fore:#202020"); # Single quoted string $_[0]->StyleSetSpec( 5,"fore:#208820,bold"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#882020"); # Triple quotes $_[0]->StyleSetSpec( 7,"fore:#202020"); # Triple double quotes $_[0]->StyleSetSpec( 8,"fore:#209999"); # Class name definition $_[0]->StyleSetSpec( 9,"fore:#202020"); # Function or method name definition $_[0]->StyleSetSpec(10,"fore:#000000"); # Operators $_[0]->StyleSetSpec(11,"fore:#000055"); # Identifiers $_[0]->StyleSetSpec(12,"fore:#7f7f7f"); # Comment-blocks $_[0]->StyleSetSpec(13,"fore:#000000,back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec(34,"fore:#0000ff"); # Matched Operators $_[0]->StyleSetSpec(35,"fore:#ff0000"); # Matched Operators } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/ave.pm0000644000175000017500000000205111573645307023353 0ustar rizlarizlapackage syntaxhighlighter::ave; $VERSION = '0.01'; use Wx qw(wxSTC_LEX_AVE wxSTC_H_TAG); sub load{ $_[0]->SetLexer( wxSTC_LEX_AVE ); $_[0]->SetKeyWords(0,'nil true false else for if while then elseif end av self \ in exit'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#FF0000"); # White space $_[0]->StyleSetSpec( 1,"fore:#aaaaaa"); # Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 6,"fore:#f36600"); # String $_[0]->StyleSetSpec( 7,"fore:#207f7f,bold"); # Enumeration $_[0]->StyleSetSpec( 8,"back:#E0C0E0,eolfilled"); # End of line where string is not closed $_[0]->StyleSetSpec( 9,"fore:#7F007f"); # Identifier (everything else...) $_[0]->StyleSetSpec(10,"fore:#ff9999"); # Operators $_[0]->StyleSetSpec(11,"fore:#FF0000"); # Illegal token $_[0]->StyleSetSpec(32,"fore:#000000"); # Default # Other keywords 12-16 (bozo test colors :-) 12,13 bold } 1; kephra-0.4.3.32+dfsg.orig/share/config/syntaxhighlighter/eiffel.pm0000644000175000017500000000257711573645307024047 0ustar rizlarizlapackage syntaxhighlighter::eiffel; $VERSION = '0.01'; sub load{ use Wx qw(wxSTC_LEX_EIFFEL wxSTC_H_TAG); $_[0]->SetLexer( wxSTC_LEX_EIFFEL ); # Set Lexers to use $_[0]->SetKeyWords(0,'alias all and any as bit boolean \ check class character clone create creation current \ debug deferred div do double \ else elseif end ensure equal expanded export external \ false feature forget from frozen general \ if implies indexing infix inherit inspect integer invariant is \ language like local loop mod name nochange none not \ obsolete old once or platform pointer prefix precursor \ real redefine rename require rescue result retry \ select separate string strip then true undefine unique until \ variant void when xor'); # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec( 0,"fore:#000000"); # Default $_[0]->StyleSetSpec( 1,"fore:#447744"); # Line Comment $_[0]->StyleSetSpec( 2,"fore:#007f7f"); # Number $_[0]->StyleSetSpec( 3,"fore:#000077,bold"); # Keyword $_[0]->StyleSetSpec( 4,"fore:#208820"); # String $_[0]->StyleSetSpec( 5,"fore:#20bb20"); # Character $_[0]->StyleSetSpec( 6,"fore:#882020"); # Operators $_[0]->StyleSetSpec( 7,"fore:#777720"); # Identifier $_[0]->StyleSetSpec( 8,"fore:#209920,eolfilled"); # End of line where string is not closed } 1;kephra-0.4.3.32+dfsg.orig/share/config/global/0000755000175000017500000000000011633700043017721 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/global/autosaved.conf0000644000175000017500000002346211602234733022576 0ustar rizlarizla purpose = build in global settings version = 0.4.3.31 app_data_sub_dir = interface file = commands.yaml sub_dir = cache use = 1 file = interface/commands.conf node = commandlist defaultfile = interface/contextmenus.yml 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_encoding = status_encoding_contextmenu status_eol = status_lineendchar_contextmenu status_info = status_info_contexmenu status_syntaxmode = status_syntaxstyle_contextmenu status_tab = status_whitespace_contextmenu toolbar_search = searchbar_contextmenu error_output = panel iconset_path = interface/icon/set/jenne directory = localisation file = english.conf file = interface/mainmenu.yml node = full_menubar responsive = 1 visible = 1 content_file = global/data/notepad_content.txt eval_with = eval font_family = Nimbus Sans L font_size = 10 size = -876 splitter_pos = 300 visible = 0 append = 0 back_color = 000022 font_family = DejaVu Sans Mono font_size = 9 fore_color = ffffff interpreter_path = perl size = -1064 visible = 1 autofocus = 0 autohide = 0 contextmenu = toolbar_search contextmenu_visible = 1 file = interface/appbars.conf node = searchbar position = below visible = 1 contextmenu_visible = 1 file = interface/appbars.yml interactive = 1 msg_nr = 0 node = statusbar visible = 1 close_button = current contextmenu = document_list contextmenu_visible = 1 file_info = file_name info_symbol = 1 insert_new_tab = rightmost mark_configs = 1 max_tab_width = 25 middle_click = file-close-current movable_tabs = 1 number_tabs = 0 switch_back = 1 tablist_button = 1 visible = 1 contextmenu = 0 file = interface/appbars.yml node = main_toolbar responsive = 1 size = 16 visible = 1 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 = 0 position_y = 24 save_position = 1 size_x = 1920 size_y = 1176 stay_on_top = 0 title = \$filepath - \$appname \$version transparency = 0.2 transparent = 0 xp_style = 1 button_handing = right position_x = 100 position_y = 100 save_position = 1 tooltips = 1 position_x = 100 position_y = 100 save_position = 1 tooltips = 1 transparency = 0.2 width = 496 DND_mode = copy glue_tangent = 0 indention = 1 join = 1 make = 1 focus = 0 indention = 1 ID_margin = marker_margin ID_normal = document_context ID_selection = document_selection margin = 1 visible = custom left-middle = edit-paste left-right = edit-cut left-selection = edit-copy middle = goto-last-edit middle-selected = edit-insert-selection-at-cursor middle-selection = find-selection, find-next use_advanced_mouse_functions = 1 family = DejaVu Sans Mono size = 10 style = normal weight = normal fast_undo_steps = 7 back_color = 99ff99 bad_color = ff0000 good_color = 0000ff mode = adjacent visible = 1 color = 0000ff period = 500 width = 2 color = f5f5a5 visible = 1 end_of_line_marker = 0 color = bbbbbb visible = 1 color = ccccff position = 80 style = 1 back_color = 001177 fore_color = f3f3f3 color = cccc99 visible = 1 line_wrap = 0 back_color = fff5f5 flag_line = 1 fore_color = aa9977 keep_caret_visible = 1 style = boxes visible = 1 autosize = 1 back_color = d8d8d4 fore_color = 777788 min_width = 3 visible = 1 back_color = 0022ff fore_color = 000055 visible = 1 text = 6 scroll_width = 640 word_chars = \$%-@_abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789 directory = /home/lichtkind/txt/artikel/heise/ EOL = OS codepage = ascii cursor_pos = 0 readonly = 0 syntaxmode = perl tab_size = 4 tab_use = 1 EOL = auto codepage = auto cursor_pos = 0 readonly = protect syntaxmode = auto tab_size = 4 tab_use = auto 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 eiffel = e err = err errorlist forth = forth fortran = f for f77 f90 f95 f2k haskell = hs html = htm html ssi shtml xhtml tag stag idl = idl odl java = jav java js = js latex = aux toc idx lisp = el jl lsp lisp lua = lua make = makefile Makefile mak configure matlab = m octave nsis = nsi nsh pascal = pas dpr dpk dfm inc pp 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 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 config = conf perl = perl text = text web = css html php perl js dir_recursive = 1 each_once = 1 in_current_dir = 1 into_empty_doc = 0 into_only_empty_doc = 1 notify_change = 30 only_text = 0 single_doc = 0 auto_save = 30 b4_close = ask b4_quit = ask change_doc = 0 empty = 0 on_leave = 0 overwrite = ask reload_config = 1 tilde_backup = 0 unchanged = 0 file = current.yaml node = save = 1 backup = backup.yaml directory = session file = history.yml length = 13 node = save = 1 directory = template file = perl.conf 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 length = 12 remember_only_matched = 1 save = 1 use = 1 any = 1 wrap = 1 credits = english/license/credits.txt feature = english/all_feature.txt keymap = english/keymap.txt license = english/license/gpl.txt navigation = english/navigation.txt special = english/special_feature.txt version = english/this_version.txt welcome = english/welcome.txt kephra-0.4.3.32+dfsg.orig/share/config/global/sub/0000755000175000017500000000000011633700043020512 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/global/sub/pbs.conf0000644000175000017500000000124211573645304022157 0ustar rizlarizla purpose = configs along Damians Conways: "Perl Best Practices" version = 0.3.8.13 indention = 1 make = 1 indention = 1 visible = 1 position = 78 style = 1 visible = 1 line_wrap = 0 tab_size = 4 tab_use = 0 kephra-0.4.3.32+dfsg.orig/share/config/global/sub/documentation/0000755000175000017500000000000011633700043023363 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/global/sub/documentation/english.conf0000644000175000017500000000051511573645304025677 0ustar rizlarizla 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 kephra-0.4.3.32+dfsg.orig/share/config/global/sub/documentation/cesky.conf0000644000175000017500000000033711573645304025366 0ustar rizlarizla credits = cesky/ feature = cesky/ keymap = cesky/ license = cesky/ navigation = cesky/ special = cesky/ version = cesky/tahle_verse.txt welcome = cesky/vitejte.txt kephra-0.4.3.32+dfsg.orig/share/config/global/sub/documentation/deutsch.conf0000644000175000017500000000054611573645304025711 0ustar rizlarizla credits = deutsch/lizenz/anerkennung.txt feature = deutsch/alle_funktionen.txt keymap = deutsch/tastaturbelegung.txt license = deutsch/lizenz/gpl.txt special = deutsch/besondere_funktionen.txt navigation = deutsch/navigation.txt version = deutsch/diese_version.txt welcome = deutsch/willkommen.txt kephra-0.4.3.32+dfsg.orig/share/config/global/autosaved.conf~0000644000175000017500000002347511601474667023013 0ustar rizlarizla purpose = build in global settings version = 0.4.3.31 app_data_sub_dir = interface file = commands.yaml sub_dir = cache use = 1 file = interface/commands.conf node = commandlist defaultfile = interface/contextmenus.yml 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_encoding = status_encoding_contextmenu status_eol = status_lineendchar_contextmenu status_info = status_info_contexmenu status_syntaxmode = status_syntaxstyle_contextmenu status_tab = status_whitespace_contextmenu toolbar_search = searchbar_contextmenu error_output = panel iconset_path = interface/icon/set/jenne directory = localisation file = english.conf file = interface/mainmenu.yml node = full_menubar responsive = 1 visible = 1 content_file = global/data/notepad_content.txt eval_with = eval font_family = Nimbus Sans L font_size = 10 size = -876 splitter_pos = 300 visible = 0 append = 0 back_color = 000022 font_family = DejaVu Sans Mono font_size = 9 fore_color = ffffff interpreter_path = perl size = -1064 visible = 1 autofocus = 0 autohide = 0 contextmenu = toolbar_search contextmenu_visible = 1 file = interface/appbars.conf node = searchbar position = below visible = 1 contextmenu_visible = 1 file = interface/appbars.yml interactive = 1 msg_nr = 0 node = statusbar visible = 1 close_button = current contextmenu = document_list contextmenu_visible = 1 file_info = file_name info_symbol = 1 insert_new_tab = rightmost mark_configs = 1 max_tab_width = 25 middle_click = file-close-current movable_tabs = 1 number_tabs = 0 switch_back = 1 tablist_button = 1 visible = 1 contextmenu = 0 file = interface/appbars.yml node = main_toolbar responsive = 1 size = 16 visible = 1 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 = 0 position_y = 24 save_position = 1 size_x = 1920 size_y = 1176 stay_on_top = 0 title = \$filepath - \$appname \$version transparency = 0.2 transparent = 0 xp_style = 1 button_handing = right position_x = 100 position_y = 100 save_position = 1 tooltips = 1 position_x = 100 position_y = 100 save_position = 1 tooltips = 1 transparency = 0.2 width = 496 DND_mode = copy glue_tangent = 0 indention = 1 join = 1 make = 1 focus = 0 indention = 1 ID_margin = marker_margin ID_normal = document_context ID_selection = document_selection margin = 1 visible = custom left-middle = edit-paste left-right = edit-cut left-selection = edit-copy middle = goto-last-edit middle-selected = edit-insert-selection-at-cursor middle-selection = find-selection, find-next use_advanced_mouse_functions = 1 family = DejaVu Sans Mono size = 10 style = normal weight = normal fast_undo_steps = 7 back_color = 99ff99 bad_color = ff0000 good_color = 0000ff mode = adjacent visible = 1 color = 0000ff period = 500 width = 2 color = f5f5a5 visible = 1 end_of_line_marker = 0 color = bbbbbb visible = 1 color = ccccff position = 80 style = 1 back_color = 001177 fore_color = f3f3f3 color = cccc99 visible = 1 line_wrap = 0 back_color = fff5f5 flag_line = 1 fore_color = aa9977 keep_caret_visible = 1 style = boxes visible = 1 autosize = 1 back_color = d8d8d4 fore_color = 777788 min_width = 3 visible = 1 back_color = 0022ff fore_color = 000055 visible = 1 text = 6 scroll_width = 640 word_chars = \$%-@_abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789 directory = /home/lichtkind/code/perl/project/trigon/src/ EOL = OS codepage = ascii cursor_pos = 0 readonly = 0 syntaxmode = perl tab_size = 4 tab_use = 1 EOL = auto codepage = auto cursor_pos = 0 readonly = protect syntaxmode = auto tab_size = 4 tab_use = auto 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 eiffel = e err = err errorlist forth = forth fortran = f for f77 f90 f95 f2k haskell = hs html = htm html ssi shtml xhtml tag stag idl = idl odl java = jav java js = js latex = aux toc idx lisp = el jl lsp lisp lua = lua make = makefile Makefile mak configure matlab = m octave nsis = nsi nsh pascal = pas dpr dpk dfm inc pp 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 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 config = conf perl = perl text = text web = css html php perl js dir_recursive = 1 each_once = 1 in_current_dir = 1 into_empty_doc = 0 into_only_empty_doc = 1 notify_change = 30 only_text = 0 single_doc = 0 auto_save = 30 b4_close = ask b4_quit = ask change_doc = 0 empty = 0 on_leave = 0 overwrite = ask reload_config = 1 tilde_backup = 0 unchanged = 0 file = current.yaml node = save = 1 backup = backup.yaml directory = session file = history.yml length = 13 node = save = 1 directory = template file = perl.conf 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 length = 12 remember_only_matched = 1 save = 1 use = 1 any = 1 wrap = 1 credits = english/license/credits.txt feature = english/all_feature.txt keymap = english/keymap.txt license = english/license/gpl.txt navigation = english/navigation.txt special = english/special_feature.txt version = english/this_version.txt welcome = english/welcome.txt kephra-0.4.3.32+dfsg.orig/share/config/global/autosaved.conf.old0000644000175000017500000002347511601455162023357 0ustar rizlarizla purpose = build in global settings version = 0.4.3.29 app_data_sub_dir = interface file = commands.yaml sub_dir = cache use = 1 file = interface/commands.conf node = commandlist defaultfile = interface/contextmenus.yml 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_encoding = status_encoding_contextmenu status_eol = status_lineendchar_contextmenu status_info = status_info_contexmenu status_syntaxmode = status_syntaxstyle_contextmenu status_tab = status_whitespace_contextmenu toolbar_search = searchbar_contextmenu error_output = panel iconset_path = interface/icon/set/jenne directory = localisation file = english.conf file = interface/mainmenu.yml node = full_menubar responsive = 1 visible = 1 content_file = global/data/notepad_content.txt eval_with = eval font_family = Nimbus Sans L font_size = 10 size = -876 splitter_pos = 300 visible = 0 append = 0 back_color = 000022 font_family = DejaVu Sans Mono font_size = 9 fore_color = ffffff interpreter_path = perl size = -1064 visible = 1 autofocus = 0 autohide = 0 contextmenu = toolbar_search contextmenu_visible = 1 file = interface/appbars.conf node = searchbar position = below visible = 1 contextmenu_visible = 1 file = interface/appbars.yml interactive = 1 msg_nr = 0 node = statusbar visible = 1 close_button = current contextmenu = document_list contextmenu_visible = 1 file_info = file_name info_symbol = 1 insert_new_tab = rightmost mark_configs = 1 max_tab_width = 25 middle_click = file-close-current movable_tabs = 1 number_tabs = 0 switch_back = 1 tablist_button = 1 visible = 1 contextmenu = 0 file = interface/appbars.yml node = main_toolbar responsive = 1 size = 16 visible = 1 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 = 0 position_y = 24 save_position = 1 size_x = 1920 size_y = 1176 stay_on_top = 0 title = \$filepath - \$appname \$version transparency = 0.2 transparent = 0 xp_style = 1 button_handing = right position_x = 100 position_y = 100 save_position = 1 tooltips = 1 position_x = 100 position_y = 100 save_position = 1 tooltips = 1 transparency = 0.2 width = 496 DND_mode = copy glue_tangent = 0 indention = 1 join = 1 make = 1 focus = 0 indention = 1 ID_margin = marker_margin ID_normal = document_context ID_selection = document_selection margin = 1 visible = custom left-middle = edit-paste left-right = edit-cut left-selection = edit-copy middle = goto-last-edit middle-selected = edit-insert-selection-at-cursor middle-selection = find-selection, find-next use_advanced_mouse_functions = 1 family = DejaVu Sans Mono size = 10 style = normal weight = normal fast_undo_steps = 7 back_color = 99ff99 bad_color = ff0000 good_color = 0000ff mode = adjacent visible = 1 color = 0000ff period = 500 width = 2 color = f5f5a5 visible = 1 end_of_line_marker = 0 color = bbbbbb visible = 1 color = ccccff position = 80 style = 1 back_color = 001177 fore_color = f3f3f3 color = cccc99 visible = 1 line_wrap = 0 back_color = fff5f5 flag_line = 1 fore_color = aa9977 keep_caret_visible = 1 style = boxes visible = 1 autosize = 1 back_color = d8d8d4 fore_color = 777788 min_width = 3 visible = 1 back_color = 0022ff fore_color = 000055 visible = 1 text = 6 scroll_width = 640 word_chars = \$%-@_abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789 directory = /home/lichtkind/code/perl/project/trigon/src/ EOL = OS codepage = ascii cursor_pos = 0 readonly = 0 syntaxmode = perl tab_size = 4 tab_use = 1 EOL = auto codepage = auto cursor_pos = 0 readonly = protect syntaxmode = auto tab_size = 4 tab_use = auto 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 eiffel = e err = err errorlist forth = forth fortran = f for f77 f90 f95 f2k haskell = hs html = htm html ssi shtml xhtml tag stag idl = idl odl java = jav java js = js latex = aux toc idx lisp = el jl lsp lisp lua = lua make = makefile Makefile mak configure matlab = m octave nsis = nsi nsh pascal = pas dpr dpk dfm inc pp 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 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 config = conf perl = perl text = text web = css html php perl js dir_recursive = 1 each_once = 1 in_current_dir = 1 into_empty_doc = 0 into_only_empty_doc = 1 notify_change = 30 only_text = 0 single_doc = 0 auto_save = 30 b4_close = ask b4_quit = ask change_doc = 0 empty = 0 on_leave = 0 overwrite = ask reload_config = 1 tilde_backup = 0 unchanged = 0 file = current.yaml node = save = 1 backup = backup.yaml directory = session file = history.yml length = 13 node = save = 1 directory = template file = perl.conf 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 length = 12 remember_only_matched = 1 save = 1 use = 1 any = 1 wrap = 1 credits = english/license/credits.txt feature = english/all_feature.txt keymap = english/keymap.txt license = english/license/gpl.txt navigation = english/navigation.txt special = english/special_feature.txt version = english/this_version.txt welcome = english/welcome.txt kephra-0.4.3.32+dfsg.orig/share/config/global/data/0000755000175000017500000000000011633700043020632 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/global/data/search.yml0000644000175000017500000000052311602234733022626 0ustar rizlarizla--- bookmark: {} find: history: - speicher_suchbegriffe - _suchbegriffe - lade_eigene_suchbegriffe - '$suchlisten' - ' ..' - checkfilter - check_only_3 - '$worteingabe' - wort - zeichne_komplett - '$help_msg' - eingabefilter item: speicher_suchbegriffe replace: history: [] item: '' kephra-0.4.3.32+dfsg.orig/share/config/global/data/notepad_content.txt0000644000175000017500000000003411602234733024560 0ustar rizlarizlaEncode->encodings(":all")' kephra-0.4.3.32+dfsg.orig/share/config/interface/0000755000175000017500000000000011633700043020421 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/appbars.yml0000644000175000017500000000177711573645306022625 0ustar rizlarizla--- main_toolbar: - item file-new - item file-open - item file-print# - item file-close-current# - item file-save-all - item file-save-current - - item edit-changes-undo - item edit-changes-redo - - item edit-cut - item edit-copy - item edit-paste - item edit-replace - item edit-delete - - checkitem view-editpanel-line-wrap - checkitem view-window-stay-on-top - - item tool-interpreter-run-document - checkitem view-panel-output - checkitem view-panel-notepad - - item view-dialog-find# - item view-dialog-config# - item view-dialog-keymap# searchbar: - item view-searchbar - combobox find 180 - item find-prev - item find-next - - item goto-last-edit - - item marker-goto-prev-all - item marker-goto-next-all - - item goto-line - item view-dialog-find statusbar: - textpanel cursor 66 - textpanel selection 60 - textpanel syntaxmode 50 - textpanel codepage 40 - textpanel tab 25 - textpanel EOL 32 - textpanel message -1 kephra-0.4.3.32+dfsg.orig/share/config/interface/commands.conf0000644000175000017500000011466111573645306023117 0ustar rizlarizla exit = Kephra::App::exit() exit-unsaved = Kephra::App::exit_unsaved() new = Kephra::File::new() open = Kephra::File::open() open-dir = Kephra::File::open_all_of_dir() reload = Kephra::File::reload_current() reload-all = Kephra::File::reload_all() insert = Kephra::File::insert() current = Kephra::File::save_current() all = Kephra::File::save_all() as = Kephra::File::save_as() copy-as = Kephra::File::save_copy_as() rename = Kephra::File::rename() print = Kephra::File::print() current = Kephra::File::close_current() all = Kephra::File::close_all() other = Kephra::File::close_other() unsaved = Kephra::File::close_unsaved() all-unsaved = Kephra::File::close_all_unsaved() other-unsaved = Kephra::File::close_other_unsaved() open = Kephra::File::Session::restore_from(); add = Kephra::File::Session::add_from(); save = Kephra::File::Session::save_as(); import = Kephra::File::Session::import_scite(); export = Kephra::File::Session::export_scite(); backup-open = Kephra::File::Session::load_backup(); backup-save = Kephra::File::Session::save_backup(); history-open-all = Kephra::File::History::open_all() undo = Kephra::Edit::History::undo() redo = Kephra::Edit::History::redo() undo-several = Kephra::Edit::History::undo_several() redo-several = Kephra::Edit::History::redo_several() goto-begin = Kephra::Edit::History::undo_begin() goto-end = Kephra::Edit::History::redo_end() delete = Kephra::Edit::History::clear_history() cut = Kephra::Edit::cut() copy = Kephra::Edit::copy() paste = Kephra::Edit::paste() replace = Kephra::Edit::replace() delete = Kephra::Edit::clear() delete-tab = Kephra::Edit::del_back_tab() cut = Kephra::Edit::cut_current_line() copy = Kephra::Edit::copy_current_line() duplicate = Kephra::Edit::double_current_line() replace = Kephra::Edit::replace_current_line() delete = Kephra::Edit::del_current_line() delete-left = Kephra::Edit::del_line_left() delete-right = Kephra::Edit::del_line_right() line-up = Kephra::Edit::selection_move_up() line-down = Kephra::Edit::selection_move_down() page-up = Kephra::Edit::selection_move_page_up() page-down = Kephra::Edit::selection_move_page_down() uppercase = Kephra::Edit::Convert::upper_case() lowercase = Kephra::Edit::Convert::lower_case() titlecase = Kephra::Edit::Convert::title_case() sentencecase = Kephra::Edit::Convert::sentence_case() spaces2tabs = Kephra::Edit::Convert::spaces2tabs() tabs2spaces = Kephra::Edit::Convert::tabs2spaces() spaces2entities = Kephra::Edit::Convert::spaces2entities() entities2spaces = Kephra::Edit::Convert::entities2spaces() chars2entities = Kephra::Edit::Convert::chars2entities() entities2chars = Kephra::Edit::Convert::entities2chars() add-perl = Kephra::Edit::Comment::add_script() del-perl = Kephra::Edit::Comment::sub_script() toggle-perl = Kephra::Edit::Comment::toggle_script() add-c = Kephra::Edit::Comment::add_c() del-c = Kephra::Edit::Comment::sub_c() add-xml = Kephra::Edit::Comment::add_xml() del-xml = Kephra::Edit::Comment::sub_xml() align-on-begin = Kephra::Edit::Format::align_indent() block-on-right-margin = Kephra::Edit::Format::blockformat_LLI() block-on-width = Kephra::Edit::Format::blockformat_custom() linewrap-on-right-margin = Kephra::Edit::Format::linebreak_LLI() linewrap-on-width = Kephra::Edit::Format::linebreak_custom() indent-char = Kephra::Edit::Format::indent_space() dedent-char = Kephra::Edit::Format::dedent_space() indent-tab = Kephra::Edit::Format::indent_tab() dedent-tab = Kephra::Edit::Format::dedent_tab() del-trailing-whitespace = Kephra::Edit::Format::del_trailing_spaces() join-lines = Kephra::Edit::Format::join_lines() char-left = Kephra::Edit::selection_move_left() char-right = Kephra::Edit::selection_move_right() line-up = Kephra::Edit::selection_move_up() line-down = Kephra::Edit::selection_move_down() page-up = Kephra::Edit::selection_move_page_up() page-down = Kephra::Edit::selection_move_page_down() indent2spaces = Kephra::Document::convert_indent2spaces() indent2tabs = Kephra::Document::convert_indent2tabs() spaces2tabs = Kephra::Document::convert_spaces2tabs() tabs2spaces = Kephra::Document::convert_tabs2spaces() del-trailing-whitespace = Kephra::Document::del_trailing_spaces() autowrap-switch = Kephra::Edit::Search::switch_attribute('auto_wrap') incremental-switch = Kephra::Edit::Search::switch_attribute('incremental') regex-switch = Kephra::Edit::Search::switch_attribute('match_regex') case-switch = Kephra::Edit::Search::switch_attribute('match_case') whole-word-switch = Kephra::Edit::Search::switch_attribute('match_whole_word') word-begin-switch = Kephra::Edit::Search::switch_attribute('match_word_begin') selection = Kephra::Edit::Search::set_range('selection'); document = Kephra::Edit::Search::set_range('document'); open-docs = Kephra::Edit::Search::set_range('open_docs'); prev = Kephra::Edit::Search::find_prev() next = Kephra::Edit::Search::find_next() first = Kephra::Edit::Search::find_first() last = Kephra::Edit::Search::find_last() selection = Kephra::Edit::Search::set_selection_as_find_item() prev = Kephra::Edit::Search::replace_back() next = Kephra::Edit::Search::replace_fore() all = Kephra::Edit::Search::replace_all() with-confirm = Kephra::Edit::Search::replace_confirm() selection = Kephra::Edit::Search::set_selection_as_replace_item() down = Kephra::Edit::Goto::next_block() up = Kephra::Edit::Goto::prev_block() down = Kephra::Edit::Goto::next_related_brace() left = Kephra::Edit::Goto::prev_brace() right = Kephra::Edit::Goto::next_brace() up = Kephra::Edit::Goto::prev_related_brace() last-edit = Kephra::Edit::Goto::last_edit() line = Kephra::Edit::Goto::line() goto-prev-doc = Kephra::Edit::Marker::goto_prev_marker_in_doc() goto-next-doc = Kephra::Edit::Marker::goto_next_marker_in_doc() goto-prev-all = Kephra::Edit::Marker::goto_prev_marker() goto-next-all = Kephra::Edit::Marker::goto_next_marker() toggle-here = &Kephra::Edit::Marker::toggle_marker delete-doc = Kephra::Edit::Marker::delete_all_marker_in_doc() delete-all = Kephra::Edit::Marker::delete_all_marker() 1 = Kephra::Edit::Marker::goto_bookmark(1) 2 = Kephra::Edit::Marker::goto_bookmark(2) 3 = Kephra::Edit::Marker::goto_bookmark(3) 4 = Kephra::Edit::Marker::goto_bookmark(4) 5 = Kephra::Edit::Marker::goto_bookmark(5) 6 = Kephra::Edit::Marker::goto_bookmark(6) 7 = Kephra::Edit::Marker::goto_bookmark(7) 8 = Kephra::Edit::Marker::goto_bookmark(8) 9 = Kephra::Edit::Marker::goto_bookmark(9) 0 = Kephra::Edit::Marker::goto_bookmark(0) 1 = Kephra::Edit::Marker::toggle_bookmark(1) 2 = Kephra::Edit::Marker::toggle_bookmark(2) 3 = Kephra::Edit::Marker::toggle_bookmark(3) 4 = Kephra::Edit::Marker::toggle_bookmark(4) 5 = Kephra::Edit::Marker::toggle_bookmark(5) 6 = Kephra::Edit::Marker::toggle_bookmark(6) 7 = Kephra::Edit::Marker::toggle_bookmark(7) 8 = Kephra::Edit::Marker::toggle_bookmark(8) 9 = Kephra::Edit::Marker::toggle_bookmark(9) 0 = Kephra::Edit::Marker::toggle_bookmark(0) delete-doc = Kephra::Edit::Marker::delete_all_bookmarks_in_doc() delete-all = Kephra::Edit::Marker::delete_all_bookmarks() interpreter-run-document = Kephra::App::Panel::Output::run() interpreter-stop-document = Kephra::App::Panel::Output::stop() inc = Kephra::App::Panel::Output::display_inc() env = Kephra::App::Panel::Output::display_env() selection-dec = Kephra::App::Panel::Output::display_selection_dec() selection-hex = Kephra::App::Panel::Output::display_selection_hex() note = Kephra::App::Panel::Notepad::note() note-selection = Kephra::App::Panel::Notepad::append_selection() choose-color = Kephra::Dialog::choose_color() insert-time-date = Kephra::Edit::Special::insert_time_date() insert-last-var = Kephra::Edit::Special::insert_last_perl_var() copy-string = Kephra::Edit::Special::copy_surrounding_string() auto-indention = Kephra::App::EditPanel::switch_autoindention() brace-indention = Kephra::App::EditPanel::switch_braceindention() brace-completion = Kephra::App::EditPanel::switch_bracecompletion() back = Kephra::Document::Change::switch_back() prev = Kephra::Document::Change::tab_left() next = Kephra::Document::Change::tab_right() auto = Kephra::Document::Property::convert_EOL('auto') cr+lf = Kephra::Document::Property::convert_EOL('cr+lf') cr = Kephra::Document::Property::convert_EOL('cr') lf = Kephra::Document::Property::convert_EOL('lf') ascii = Kephra::Document::Property::set_codepage('ascii') latin1 = Kephra::Document::Property::set_codepage('latin1') utf8 = Kephra::Document::Property::set_codepage('utf8') left = Kephra::Document::Change::move_left() right = Kephra::Document::Change::move_right() as-attr = Kephra::Document::Property::set_readonly('protect') on = Kephra::Document::Property::set_readonly('on') off = Kephra::Document::Property::set_readonly('off') auto = Kephra::Document::SyntaxMode::set('auto') none = Kephra::Document::SyntaxMode::set('none') ada = Kephra::Document::SyntaxMode::set('ada') as = Kephra::Document::SyntaxMode::set('as') asm = Kephra::Document::SyntaxMode::set('asm') ave = Kephra::Document::SyntaxMode::set('ave') baan = Kephra::Document::SyntaxMode::set('baan') batch = Kephra::Document::SyntaxMode::set('batch') c = Kephra::Document::SyntaxMode::set('cpp') conf = Kephra::Document::SyntaxMode::set('conf') context = Kephra::Document::SyntaxMode::set('context') cs = Kephra::Document::SyntaxMode::set('cs') css = Kephra::Document::SyntaxMode::set('css') diff = Kephra::Document::SyntaxMode::set('diff') eiffel = Kephra::Document::SyntaxMode::set('eiffel') err = Kephra::Document::SyntaxMode::set('err') forth = Kephra::Document::SyntaxMode::set('forth') fortran = Kephra::Document::SyntaxMode::set('fortran') html = Kephra::Document::SyntaxMode::set('html') idl = Kephra::Document::SyntaxMode::set('idl') java = Kephra::Document::SyntaxMode::set('java') js = Kephra::Document::SyntaxMode::set('js') latex = Kephra::Document::SyntaxMode::set('latex') lisp = Kephra::Document::SyntaxMode::set('lisp') lua = Kephra::Document::SyntaxMode::set('lua') make = Kephra::Document::SyntaxMode::set('make') matlab = Kephra::Document::SyntaxMode::set('matlab') nsis = Kephra::Document::SyntaxMode::set('nsis') pascal = Kephra::Document::SyntaxMode::set('pascal') perl = Kephra::Document::SyntaxMode::set('perl') php = Kephra::Document::SyntaxMode::set('php') property = Kephra::Document::SyntaxMode::set('property') ps = Kephra::Document::SyntaxMode::set('ps') python = Kephra::Document::SyntaxMode::set('python') ruby = Kephra::Document::SyntaxMode::set('ruby') scheme = Kephra::Document::SyntaxMode::set('scheme') sh = Kephra::Document::SyntaxMode::set('sh') sql = Kephra::Document::SyntaxMode::set('sql') tcl = Kephra::Document::SyntaxMode::set('tcl') tex = Kephra::Document::SyntaxMode::set('tex') vb = Kephra::Document::SyntaxMode::set('vb') vbs = Kephra::Document::SyntaxMode::set('vbs') xml = Kephra::Document::SyntaxMode::set('xml') yaml = Kephra::Document::SyntaxMode::set('yaml') hard = Kephra::Document::Property::set_tabs_hard() soft = Kephra::Document::Property::set_tabs_soft() use = Kephra::Document::Property::switch_tab_mode() 1 = Kephra::Document::Property::set_tab_size(1) 2 = Kephra::Document::Property::set_tab_size(2) 3 = Kephra::Document::Property::set_tab_size(3) 4 = Kephra::Document::Property::set_tab_size(4) 5 = Kephra::Document::Property::set_tab_size(5) 6 = Kephra::Document::Property::set_tab_size(6) 8 = Kephra::Document::Property::set_tab_size(8) config = Kephra::Dialog::config() find = Kephra::Dialog::find() replace = Kephra::Dialog::replace() info = Kephra::Dialog::info() keymap = Kephra::Help::keyboard_map() advanced-tour = Kephra::Help::advanced_tour() credits = Kephra::Help::credits() feature-list = Kephra::Help::feature_tour() navigation-guide = Kephra::Help::navigation_guide welcome = Kephra::Help::welcome() this-version = Kephra::Help::version_text() custom = Kephra::App::EditPanel::set_contextmenu('custom') no = Kephra::App::EditPanel::set_contextmenu('none') default = Kephra::App::EditPanel::set_contextmenu('default') EOL = Kephra::App::EditPanel::Indicator::switch_EOL_visibility() brace-light = Kephra::App::EditPanel::Indicator::switch_bracelight() caret-line = Kephra::App::EditPanel::Indicator::switch_caret_line_visibility() indention-guide = Kephra::App::EditPanel::Indicator::switch_indention_guide_visibility() right-margin = Kephra::App::EditPanel::Indicator::switch_LLI_visibility() whitespace = Kephra::App::EditPanel::Indicator::switch_whitespace_visibility() all = Kephra::App::EditPanel::Fold::toggle_all() here = Kephra::App::EditPanel::Fold::toggle_here() level = Kephra::App::EditPanel::Fold::toggle_level() recursively = Kephra::App::EditPanel::Fold::toggle_recursively() font = Kephra::App::EditPanel::change_font() line-wrap = Kephra::App::EditPanel::switch_autowrap_mode() contexmenu = Kephra::App::EditPanel::Margin::switch_contextmenu_visibility() text-fold = Kephra::App::EditPanel::Margin::switch_fold() line-number = Kephra::App::EditPanel::Margin::switch_line_number() marker = Kephra::App::EditPanel::Margin::switch_marker() 0 = Kephra::App::EditPanel::Margin::set_text_width(0) 1 = Kephra::App::EditPanel::Margin::set_text_width(1) 2 = Kephra::App::EditPanel::Margin::set_text_width(2) 3 = Kephra::App::EditPanel::Margin::set_text_width(3) 4 = Kephra::App::EditPanel::Margin::set_text_width(4) 6 = Kephra::App::EditPanel::Margin::set_text_width(6) 8 = Kephra::App::EditPanel::Margin::set_text_width(8) 10 = Kephra::App::EditPanel::Margin::set_text_width(10) 12 = Kephra::App::EditPanel::Margin::set_text_width(12) maximize = Kephra::App::Window::switch_max_editpanel_mode() in = Kephra::App::EditPanel::zoom_in() normal = Kephra::App::EditPanel::zoom_normal() out = Kephra::App::EditPanel::zoom_out() notepad = Kephra::App::Panel::Notepad::switch_visibility() output = Kephra::App::Panel::Output::switch_visibility() menubar = Kephra::App::MenuBar::switch_visibility() searchbar = Kephra::App::SearchBar::switch_visibility() searchbar-goto = Kephra::App::SearchBar::enter_focus() searchbar-contexmenu = Kephra::App::SearchBar::switch_contextmenu_visibility() statusbar = Kephra::App::StatusBar::switch_visibility() statusbar-contexmenu = Kephra::App::StatusBar::switch_contextmenu_visibility() date = Kephra::App::StatusBar::set_info_msg_nr(2) length = Kephra::App::StatusBar::set_info_msg_nr(1) none = Kephra::App::StatusBar::set_info_msg_nr('0') tabbar = Kephra::App::TabBar::switch_visibility() tabbar-contexmenu = Kephra::App::TabBar::switch_contextmenu_visibility() toolbar = Kephra::App::MainToolBar::switch_visibility() bug-tracker = Kephra::Help::bug_tracker() documentation = Kephra::Help::online_documentation() feature-wish = Kephra::Help::feature_wish() forum = Kephra::Help::forum_site() fullscreen = Kephra::App::Window::switch_fullscreen_mode() restore = Kephra::App::Window::restore_normal_mode() stay-on-top = Kephra::App::Window::switch_on_top_mode() top-transparent = Kephra::App::Window::switch_top_and_transparency_mode() transparent = Kephra::App::Window::switch_transparency_mode() open = Kephra::Config::Global::open_current_file() reload = Kephra::Config::Global::reload_current() load-from = Kephra::Config::Global::load_from() load-backup = Kephra::Config::Global::load_backup_file() load-defaults = Kephra::Config::Global::load_defaults() merge = Kephra::Config::Global::merge_with() save = Kephra::Config::Global::save() save-as = Kephra::Config::Global::save_as() commandlist = Kephra::Config::Interface::open_file('commandlist') menubar = Kephra::Config::Interface::open_file('menubar') contextmenu = Kephra::Config::Interface::open_file('contextmenu') toolbar = Kephra::Config::Interface::open_file('toolbar') maintoolbar = Kephra::Config::Interface::open_file('maintoolbar') searchbar = Kephra::Config::Interface::open_file('searchbar') statusbar = Kephra::Config::Interface::open_file('statusbar') ada = Kephra::Document::SyntaxMode::open_file('ada') as = Kephra::Document::SyntaxMode::open_file('as') asm = Kephra::Document::SyntaxMode::open_file('asm') ave = Kephra::Document::SyntaxMode::open_file('ave') baan = Kephra::Document::SyntaxMode::open_file('baan') batch = Kephra::Document::SyntaxMode::open_file('batch') c = Kephra::Document::SyntaxMode::open_file('cpp') conf = Kephra::Document::SyntaxMode::open_file('conf') context = Kephra::Document::SyntaxMode::open_file('context') cs = Kephra::Document::SyntaxMode::open_file('cs') css = Kephra::Document::SyntaxMode::open_file('css') diff = Kephra::Document::SyntaxMode::open_file('diff') eiffel = Kephra::Document::SyntaxMode::open_file('eiffel') err = Kephra::Document::SyntaxMode::open_file('err') forth = Kephra::Document::SyntaxMode::open_file('forth') fortran = Kephra::Document::SyntaxMode::open_file('fortran') html = Kephra::Document::SyntaxMode::open_file('html') idl = Kephra::Document::SyntaxMode::open_file('idl') java = Kephra::Document::SyntaxMode::open_file('java') js = Kephra::Document::SyntaxMode::open_file('js') latex = Kephra::Document::SyntaxMode::open_file('latex') lisp = Kephra::Document::SyntaxMode::open_file('lisp') lua = Kephra::Document::SyntaxMode::open_file('lua') make = Kephra::Document::SyntaxMode::open_file('make') matlab = Kephra::Document::SyntaxMode::open_file('matlab') nsis = Kephra::Document::SyntaxMode::open_file('nsis') pascal = Kephra::Document::SyntaxMode::open_file('pascal') perl = Kephra::Document::SyntaxMode::open_file('perl') php = Kephra::Document::SyntaxMode::open_file('php') property = Kephra::Document::SyntaxMode::open_file('property') ps = Kephra::Document::SyntaxMode::open_file('ps') python = Kephra::Document::SyntaxMode::open_file('python') ruby = Kephra::Document::SyntaxMode::open_file('ruby') scheme = Kephra::Document::SyntaxMode::open_file('scheme') sh = Kephra::Document::SyntaxMode::open_file('sh') sql = Kephra::Document::SyntaxMode::open_file('sql') tcl = Kephra::Document::SyntaxMode::open_file('tcl') tex = Kephra::Document::SyntaxMode::open_file('tex') vb = Kephra::Document::SyntaxMode::open_file('vb') vbs = Kephra::Document::SyntaxMode::open_file('vbs') xml = Kephra::Document::SyntaxMode::open_file('xml') yaml = Kephra::Document::SyntaxMode::open_file('yaml') templates = Kephra::Config::Global::open_templates_file() file-save-current = Kephra::File::can_save() file-save-all = Kephra::File::can_save_all() undo = Kephra::Edit::History::can_undo() redo = Kephra::Edit::History::can_redo() undo-several = Kephra::Edit::History::can_undo() redo-several = Kephra::Edit::History::can_redo() goto-begin = Kephra::Edit::History::can_undo() goto-end = Kephra::Edit::History::can_redo() delete = Kephra::Edit::History::can_undo() or Kephra::Edit::History::can_redo() cut = Kephra::Edit::can_copy() copy = Kephra::Edit::can_copy() paste = Kephra::Edit::can_paste() replace = Kephra::Edit::can_copy() delete = Kephra::Edit::can_copy() line-replace = Kephra::Edit::can_paste() char-left = Kephra::Edit::can_copy() char-right = Kephra::Edit::can_copy() line-up = Kephra::Edit::can_copy() line-down = Kephra::Edit::can_copy() page-up = Kephra::Edit::can_copy() page-down = Kephra::Edit::can_copy() prev = Kephra::Edit::Search::item_findable() next = Kephra::Edit::Search::item_findable() first = Kephra::Edit::Search::item_findable() last = Kephra::Edit::Search::item_findable() selection = Kephra::Edit::can_copy() prev = Kephra::Edit::Search::_exist_find_item() next = Kephra::Edit::Search::_exist_find_item() all = Kephra::Edit::Search::_exist_find_item() with-confirm = Kephra::Edit::Search::_exist_find_item() selection = Kephra::Edit::can_copy() run-document = ! Kephra::App::Panel::Output::is_running() stop-document = Kephra::App::Panel::Output::is_running() file-save-current = document.savepoint file-save-all = document.savepoint undo = document.savepoint redo = document.savepoint,document.text.change cut = document.text.select copy = document.text.select paste = document.text.select replace = document.text.select delete = document.text.select prev = find.item.changed next = find.item.changed first = find.item.changed last = find.item.changed selection = document.text.select prev = find.item.changed next = find.item.changed all = find.item.changed with-confirm = find.item.changed selection = document.text.select run-document = panel.output.run stop-document = panel.output.run autowrap-switch = Kephra::Edit::Search::get_attribute('auto_wrap') incremental-switch = Kephra::Edit::Search::get_attribute('incremental') regex-switch = Kephra::Edit::Search::get_attribute('match_regex') case-switch = Kephra::Edit::Search::get_attribute('match_case') whole-word-switch = Kephra::Edit::Search::get_attribute('match_whole_word') word-begin-switch = Kephra::Edit::Search::get_attribute('match_word_begin') selection = Kephra::Edit::Search::get_range() eq 'selection'; document = Kephra::Edit::Search::get_range() eq 'document'; open-docs = Kephra::Edit::Search::get_range() eq 'open_docs'; 1 = Kephra::Edit::Marker::bookmark_is_set(1) 2 = Kephra::Edit::Marker::bookmark_is_set(2) 3 = Kephra::Edit::Marker::bookmark_is_set(3) 4 = Kephra::Edit::Marker::bookmark_is_set(4) 5 = Kephra::Edit::Marker::bookmark_is_set(5) 6 = Kephra::Edit::Marker::bookmark_is_set(6) 7 = Kephra::Edit::Marker::bookmark_is_set(7) 8 = Kephra::Edit::Marker::bookmark_is_set(8) 9 = Kephra::Edit::Marker::bookmark_is_set(9) 0 = Kephra::Edit::Marker::bookmark_is_set(0) auto-indention = Kephra::App::EditPanel::get_autoindention() brace-indention = Kephra::App::EditPanel::get_braceindention() brace-completion = Kephra::App::EditPanel::get_bracecompletion() cr+lf = Kephra::Document::Property::get_EOL_mode() eq 'cr+lf' cr = Kephra::Document::Property::get_EOL_mode() eq 'cr' lf = Kephra::Document::Property::get_EOL_mode() eq 'lf' ascii = Kephra::Document::Property::get_codepage() eq 'ascii' utf8 = Kephra::Document::Property::get_codepage() eq 'utf8' as-attr = Kephra::Document::Property::get_readonly() eq 'protect' on = Kephra::Document::Property::get_readonly() eq 'on' off = Kephra::Document::Property::get_readonly() eq 'off' none = Kephra::Document::SyntaxMode::_ID() eq 'none' ada = Kephra::Document::SyntaxMode::_ID() eq 'ada' as = Kephra::Document::SyntaxMode::_ID() eq 'as' asm = Kephra::Document::SyntaxMode::_ID() eq 'asm' ave = Kephra::Document::SyntaxMode::_ID() eq 'ave' baan = Kephra::Document::SyntaxMode::_ID() eq 'baan' batch = Kephra::Document::SyntaxMode::_ID() eq 'batch' c = Kephra::Document::SyntaxMode::_ID() eq 'cpp' conf = Kephra::Document::SyntaxMode::_ID() eq 'conf' context = Kephra::Document::SyntaxMode::_ID() eq 'context' cs = Kephra::Document::SyntaxMode::_ID() eq 'cs' css = Kephra::Document::SyntaxMode::_ID() eq 'css' diff = Kephra::Document::SyntaxMode::_ID() eq 'diff' eiffel = Kephra::Document::SyntaxMode::_ID() eq 'eiffel' err = Kephra::Document::SyntaxMode::_ID() eq 'err' forth = Kephra::Document::SyntaxMode::_ID() eq 'forth' fortran = Kephra::Document::SyntaxMode::_ID() eq 'fortran' html = Kephra::Document::SyntaxMode::_ID() eq 'html' idl = Kephra::Document::SyntaxMode::_ID() eq 'idl' java = Kephra::Document::SyntaxMode::_ID() eq 'java' js = Kephra::Document::SyntaxMode::_ID() eq 'js' latex = Kephra::Document::SyntaxMode::_ID() eq 'latex' lisp = Kephra::Document::SyntaxMode::_ID() eq 'lisp' lua = Kephra::Document::SyntaxMode::_ID() eq 'lua' make = Kephra::Document::SyntaxMode::_ID() eq 'make' matlab = Kephra::Document::SyntaxMode::_ID() eq 'matlab' nsis = Kephra::Document::SyntaxMode::_ID() eq 'nsis' pascal = Kephra::Document::SyntaxMode::_ID() eq 'pascal' perl = Kephra::Document::SyntaxMode::_ID() eq 'perl' php = Kephra::Document::SyntaxMode::_ID() eq 'php' property = Kephra::Document::SyntaxMode::_ID() eq 'property' ps = Kephra::Document::SyntaxMode::_ID() eq 'ps' python = Kephra::Document::SyntaxMode::_ID() eq 'python' ruby = Kephra::Document::SyntaxMode::_ID() eq 'ruby' scheme = Kephra::Document::SyntaxMode::_ID() eq 'scheme' sh = Kephra::Document::SyntaxMode::_ID() eq 'sh' sql = Kephra::Document::SyntaxMode::_ID() eq 'sql' tcl = Kephra::Document::SyntaxMode::_ID() eq 'tcl' tex = Kephra::Document::SyntaxMode::_ID() eq 'tex' vb = Kephra::Document::SyntaxMode::_ID() eq 'vb' vbs = Kephra::Document::SyntaxMode::_ID() eq 'vbs' xml = Kephra::Document::SyntaxMode::_ID() eq 'xml' yaml = Kephra::Document::SyntaxMode::_ID() eq 'yaml' soft = Kephra::Document::Property::get_tab_mode() == 0 hard = Kephra::Document::Property::get_tab_mode() == 1 use = Kephra::Document::Property::get_tab_mode() 1 = Kephra::Document::Property::get_tab_size() == 1 2 = Kephra::Document::Property::get_tab_size() == 2 3 = Kephra::Document::Property::get_tab_size() == 3 4 = Kephra::Document::Property::get_tab_size() == 4 5 = Kephra::Document::Property::get_tab_size() == 5 6 = Kephra::Document::Property::get_tab_size() == 6 8 = Kephra::Document::Property::get_tab_size() == 8 line-wrap = Kephra::App::EditPanel::get_autowrap_mode() EOL = Kephra::App::EditPanel::Indicator::EOL_visible(); brace-light = Kephra::App::EditPanel::Indicator::bracelight_visible() caret-line = Kephra::App::EditPanel::Indicator::caret_line_visible() indention-guide = Kephra::App::EditPanel::Indicator::indention_guide_visible() right-margin = Kephra::App::EditPanel::Indicator::LLI_visible() whitespace = Kephra::App::EditPanel::Indicator::whitespace_visible() custom = Kephra::App::EditPanel::get_contextmenu() eq 'custom' no = Kephra::App::EditPanel::get_contextmenu() eq 'none' default = Kephra::App::EditPanel::get_contextmenu() eq 'default' contexmenu = Kephra::App::EditPanel::Margin::get_contextmenu_visibility() line-number = Kephra::App::EditPanel::Margin::line_number_visible() marker = Kephra::App::EditPanel::Margin::marker_visible() text-fold = Kephra::App::EditPanel::Margin::fold_visible() 0 = Kephra::App::EditPanel::Margin::get_text_width() == 0 1 = Kephra::App::EditPanel::Margin::get_text_width() == 1 2 = Kephra::App::EditPanel::Margin::get_text_width() == 2 4 = Kephra::App::EditPanel::Margin::get_text_width() == 4 6 = Kephra::App::EditPanel::Margin::get_text_width() == 6 8 = Kephra::App::EditPanel::Margin::get_text_width() == 8 10 = Kephra::App::EditPanel::Margin::get_text_width() == 10 12 = Kephra::App::EditPanel::Margin::get_text_width() == 12 maximize = Kephra::App::Window::get_max_editpanel_mode() notepad = Kephra::App::Panel::Notepad::get_visibility() output = Kephra::App::Panel::Output::get_visibility() menubar = Kephra::App::MenuBar::get_visibility() searchbar = Kephra::App::SearchBar::get_visibility() searchbar-contexmenu = Kephra::App::SearchBar::get_contextmenu_visibility() statusbar = Kephra::App::StatusBar::get_visibility() statusbar-contexmenu = Kephra::App::StatusBar::get_contextmenu_visibility() date = Kephra::App::StatusBar::info_msg_nr() == 2 length = Kephra::App::StatusBar::info_msg_nr() == 1 none = Kephra::App::StatusBar::info_msg_nr() == 0 tabbar = Kephra::App::TabBar::get_visibility() tabbar-contexmenu = Kephra::App::TabBar::get_contextmenu_visibility() toolbar = Kephra::App::MainToolBar::get_visibility() fullscreen = Kephra::App::Window::get_fullscreen_mode() stay-on-top = Kephra::App::Window::get_on_top_mode() transparent = Kephra::App::Window::get_transparency_mode() panel-notepad = panel.notepad.visible panel-output = panel.output.visible editpanel-line-wrap = editpanel.autowrap window-stay-on-top = app.window.ontop app-exit = app-exit.xpm new = file-new.xpm open = file-open.xpm save-current = file-save.xpm save-all = file-save-all.xpm print = file-print.xpm close-current = file-close.xpm undo = edit-undo.xpm redo = edit-redo.xpm cut = edit-cut.xpm copy = edit-copy.xpm paste = edit-paste.xpm replace = edit-replace.xpm delete = edit-delete.xpm prev = find-previous.xpm next = find-next.xpm last-edit = goto-last-edit.xpm line = goto-line.xpm goto-prev-all = marker-previous.xpm goto-next-all = marker-next.xpm toggle-here = marker.xpm 1 = bookmark1.xpm 2 = bookmark2.xpm 3 = bookmark3.xpm 4 = bookmark4.xpm 5 = bookmark5.xpm 6 = bookmark6.xpm 7 = bookmark7.xpm 8 = bookmark8.xpm 9 = bookmark9.xpm 0 = bookmark0.xpm 1 = bookmark1.xpm 2 = bookmark2.xpm 3 = bookmark3.xpm 4 = bookmark4.xpm 5 = bookmark5.xpm 6 = bookmark6.xpm 7 = bookmark7.xpm 8 = bookmark8.xpm 9 = bookmark9.xpm 0 = bookmark0.xpm interpreter-run-document = run-skript.xpm choose-color = colorpicker.xpm config = config-preferences.xpm find = find-start.xpm info = help-info.xpm keymap = help-keyboard.xpm replace = replace-start.xpm editpanel-line-wrap = line-wrap.xpm panel-notepad = note.xpm panel-output = output-panel.xpm searchbar = panel-close.xpm window-stay-on-top = stay-on-top.xpm app-exit = alt+q new = ctrl+n open = ctrl+o reload = ctrl+shift+o reload-all = ctrl+alt+o insert = ctrl+shift+i save-current = ctrl+s save-all = ctrl+alt+s save-as = ctrl+shift+s save-copy-as = alt+shift+s rename = ctrl+alt+shift+s print = ctrl+p close-current = ctrl+q close-other = ctrl+shift+q undo = ctrl+z redo = ctrl+shift+z undo-several = alt+z redo-several = alt+shift+z goto-begin = ctrl+alt+z goto-end = ctrl+alt+shift+z cut = ctrl+x copy = ctrl+c paste = ctrl+v replace = ctrl+w delete = del delete-tab = shift+back cut = ctrl+shift+x copy = ctrl+shift+c duplicate = ctrl+shift+d replace = ctrl+shift+w delete = ctrl+shift+del delete-left = ctrl+shift+l delete-right = ctrl+shift+r line-up = ctrl+alt+up line-down = ctrl+alt+down page-up = ctrl+alt+pgup page-down = ctrl+alt+pgdn add-perl = ctrl+k del-perl = ctrl+shift+k toggle-perl = ctrl+alt+k add-xml = ctrl+i del-xml = ctrl+shift+i block-on-right-margin = ctrl+shift+b dedent-char = ctrl+shift+space dedent-tab = ctrl+shift+tab indent-char = ctrl+space indent-tab = ctrl+tab join-lines = ctrl+shift+j char-left = ctrl+alt+left char-right = ctrl+alt+right line-up = ctrl+alt+up line-down = ctrl+alt+down page-up = ctrl+alt+pgup page-down = ctrl+alt+pgdn prev = shift+f3 next = f3 first = ctrl+alt+f3 last = ctrl+alt+shift+f3 selection = ctrl+f3 prev = alt+shift+f3 next = alt+f3 all = ctrl+alt+r with-confirm = ctrl+alt+shift+r selection = ctrl+shift+f3 down = alt+pgdn up = alt+pgup down = alt+down left = alt+left right = alt+right up = alt+up last-edit = ctrl+shift+g line = ctrl+g goto-prev-doc = shift+f2 goto-next-doc = f2 goto-prev-all = alt+shift+f2 goto-next-all = alt+f2 toggle-here = ctrl+f2 delete-doc = ctrl+shift+f2 delete-all = ctrl+alt+shift+f2 1 = ctrl+1 2 = ctrl+2 3 = ctrl+3 4 = ctrl+4 5 = ctrl+5 6 = ctrl+6 7 = ctrl+7 8 = ctrl+8 9 = ctrl+9 0 = ctrl+0 1 = ctrl+shift+1 2 = ctrl+shift+2 3 = ctrl+shift+3 4 = ctrl+shift+4 5 = ctrl+shift+5 6 = ctrl+shift+6 7 = ctrl+shift+7 8 = ctrl+shift+8 9 = ctrl+shift+9 0 = ctrl+shift+0 note = f12 note-selection = shift+f12 interpreter-run-document = f5 interpreter-stop-document = shift+f5 output-selection-dec = ctrl+shift+f5 output-selection-hex = alt+shift+f5 perl-insert-last-var = ctrl+shift+v perl-copy-string = alt+shift+c back = ctrl+shift+back prev = ctrl+pgup next = ctrl+pgdn left = ctrl+shift+pgup right = ctrl+shift+pgdn searchbar-goto = ctrl+f config = alt+shift+c find = ctrl+shift+f replace = ctrl+r info = alt+shift+i keymap = alt+shift+k all = alt+shift+plus here = ctrl+plus level = alt+plus recursively = ctrl+shift+plus maximize = shift+f11 in = ctrl+shift+plus normal = ctrl+shift+sharp out = ctrl+shift+minus menubar = ctrl+alt+m panel-notepad = ctrl+f12 panel-output = ctrl+f5 tabbar = ctrl+alt+t fullscreen = f11 restore = esc stay-on-top = ctrl+f11 top-transparent = ctrl+alt+f11 transparent = alt+f11 kephra-0.4.3.32+dfsg.orig/share/config/interface/iconset_jenne.conf0000644000175000017500000000165211573645306024134 0ustar rizlarizla app-exit = file_quit.xpm new = file_new.xpm open = file_open.xpm close = file_close.xpm save = file_save.xpm save-all = file_save_all.xpm undo = edit_undo.xpm redo = edit_redo.xpm cut = edit_cut.xpm copy = edit_copy.xpm paste = edit_paste.xpm replace = edit_replace.xpm delete = edit_delete.xpm prev = find_previous.xpm next = find_next.xpm last-edit = goto_last_edit.xpm find = find_start.xpm info = help_info.xpm keymap = help_keyboard.xpm replace = find_start.xpm editpanel-line-wrap = line_wrap.xpm window-stay-on-top = stay_on_top.xpm has_ending = 1 path = icon/set/jenne/ type = xpm use_path = 1 use_file_type = 1 kephra-0.4.3.32+dfsg.orig/share/config/interface/cache/0000755000175000017500000000000011633700043021464 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/cache/index_l18n.yml0000644000175000017500000000167711602233531024172 0ustar rizlarizla--- cesky.conf: age: 1307527878 author: 'Herbert Breunung' coding: UTF-8 iso_code: cs language: cesky purpose: 'global localisation' version: 0.4.3.4 deutsch.conf: age: 1307527878 author: 'Herbert Breunung' coding: UTF-8 iso_code: de language: deutsch purpose: 'global localisation' version: 0.4.3.14 english.conf: age: 1307527878 author: 'Herbert Breunung' coding: ASCII iso_code: en language: english purpose: 'global localisation' version: 0.4.3.14 espanol.conf: age: 1307527878 author: 'Enrique Nell' coding: UTF-8 iso_code: es language: espanol purpose: 'global localisation' version: 0.4.3.14 norsk.conf: age: 1307527878 author: ' ' coding: UTF-8 iso_code: nb language: norsk purpose: 'global localisation' version: 0.4.3.4 romana.conf: age: 1307527878 author: 'Stefan Suciu' coding: UTF-8 iso_code: ro language: romana purpose: 'global localisation' version: 0.4.3.13 kephra-0.4.3.32+dfsg.orig/share/config/interface/mainmenu.yml0000644000175000017500000004701711573645306023003 0ustar rizlarizla--- full_menubar: - menu file: - item file-new - - menu file_open file-open: - item file-open - item file-open-dir - - item file-insert - - item file-reload - item file-reload-all - menu file_history - - menu file_session: - item file-session-open - item file-session-add - item file-session-save - - item file-session-backup-open - item file-session-backup-save - - item file-session-import - item file-session-export - - menu file_save:# - item file-save-current - item file-save-all - item file-save-as - item file-save-copy-as - item file-rename - item file-print# - - menu file_close file-close-current: - item file-close-current - item file-close-other - item file-close-all - - item file-close-unsaved - item file-close-other-unsaved - item file-close-all-unsaved - - item app-exit-unsaved - item app-exit - menu edit: - item edit-changes-undo - item edit-changes-redo - menu edit_changes: - item edit-changes-undo-several - item edit-changes-redo-several - - item edit-changes-goto-begin - item edit-changes-goto-end - - item edit-changes-delete - - item edit-cut - item edit-copy - item edit-paste - item edit-replace - item edit-delete - - menu current_line: - item edit-line-cut - item edit-line-copy - item edit-line-duplicate - item edit-line-replace - item edit-line-swap - item edit-line-delete - item edit-line-delete-left - item edit-line-delete-right - - item edit-line-move-line-up - item edit-line-move-line-down - item edit-line-move-page-up - item edit-line-move-page-down - menu select: - item select-document - item select-toggle-simple - item select-toggle-content - menu selection: - item edit-selection-move-char-left - item edit-selection-move-char-right - item edit-selection-move-line-up - item edit-selection-move-line-down - item edit-selection-move-page-up - item edit-selection-move-page-down - - menu selection_format: - item edit-selection-format-indent-char - item edit-selection-format-dedent-char - item edit-selection-format-indent-tab - item edit-selection-format-dedent-tab - item edit-selection-format-align-on-begin - - item edit-selection-format-join-lines - - item edit-selection-format-block-on-right-margin - item edit-selection-format-block-on-width - item edit-selection-format-linewrap-on-right-margin - item edit-selection-format-linewrap-on-width - - item edit-selection-format-del-trailing-whitespace - menu selection_comment: - item edit-selection-comment-add-perl - item edit-selection-comment-del-perl - item edit-selection-comment-toggle-perl - - item edit-selection-comment-add-c - item edit-selection-comment-del-c - - item edit-selection-comment-add-xml - item edit-selection-comment-del-xml - menu selection_convert: - item edit-selection-convert-uppercase - item edit-selection-convert-lowercase - item edit-selection-convert-titlecase - item edit-selection-convert-sentencecase - - item edit-selection-convert-spaces2tabs - item edit-selection-convert-tabs2spaces - - item edit-selection-convert-spaces2entities - item edit-selection-convert-entities2spaces - item edit-selection-convert-chars2entities - item edit-selection-convert-entities2chars - menu search: - item view-searchbar-goto - item view-dialog-find - item view-dialog-replace - menu find_functions: - item find-prev - item find-next - item find-first - item find-last - item find-selection - menu replace_functions: - item replace-prev - item replace-next - item replace-all - item replace-with-confirm - item replace-selection - menu search_attributes: - checkitem search-attribute-incremental-switch - checkitem search-attribute-autowrap-switch - - checkitem search-attribute-regex-switch - checkitem search-attribute-match-whole-word-switch - checkitem search-attribute-match-word-begin-switch - checkitem search-attribute-match-case-switch - - radioitem search-range-selection - radioitem search-range-document - radioitem search-range-open-docs - - item goto-line - item goto-last-edit - - menu marker: - item marker-goto-prev-doc - item marker-goto-next-doc - item marker-goto-prev-all - item marker-goto-next-all - item marker-toggle-here - item marker-delete-doc - item marker-delete-all - - menu bookmark_goto: - item bookmark-goto-1 - item bookmark-goto-2 - item bookmark-goto-3 - item bookmark-goto-4 - item bookmark-goto-5 - item bookmark-goto-6 - item bookmark-goto-7 - item bookmark-goto-8 - item bookmark-goto-9 - item bookmark-goto-0 - menu bookmark_toggle: - item bookmark-toggle-1 - item bookmark-toggle-2 - item bookmark-toggle-3 - item bookmark-toggle-4 - item bookmark-toggle-5 - item bookmark-toggle-6 - item bookmark-toggle-7 - item bookmark-toggle-8 - item bookmark-toggle-9 - item bookmark-toggle-0 - item bookmark-delete-doc - item bookmark-delete-all - menu tools: - item tool-interpreter-run-document - item tool-interpreter-stop-document - menu tool_output: - item tool-output-selection-dec - item tool-output-selection-hex - - item tool-output-env - item tool-output-inc - - menu insert_templates - item tool-choose-color - item tool-insert-time-date - - item tool-perl-insert-last-var - item tool-perl-copy-string - - item tool-note - item tool-note-selection - - checkitem tool-auto-indention - checkitem tool-brace-indention - checkitem tool-brace-completion - menu document: - menu document_change: - item document-change-prev - item document-change-next - item document-change-back - - item document-move-right - item document-move-left - - menu document_syntaxmode: - item document-syntaxmode-auto - checkitem document-syntaxmode-none - - menu document_syntaxmode_A-M: - checkitem document-syntaxmode-ada - checkitem document-syntaxmode-as - checkitem document-syntaxmode-asm - checkitem document-syntaxmode-ave - checkitem document-syntaxmode-baan - checkitem document-syntaxmode-batch - checkitem document-syntaxmode-c - checkitem document-syntaxmode-cs - checkitem document-syntaxmode-conf - checkitem document-syntaxmode-context - checkitem document-syntaxmode-css - checkitem document-syntaxmode-diff - checkitem document-syntaxmode-eiffel - checkitem document-syntaxmode-err - checkitem document-syntaxmode-forth - checkitem document-syntaxmode-fortran - checkitem document-syntaxmode-html - checkitem document-syntaxmode-idl - checkitem document-syntaxmode-java - checkitem document-syntaxmode-js - checkitem document-syntaxmode-latex - checkitem document-syntaxmode-lisp - checkitem document-syntaxmode-lua - checkitem document-syntaxmode-make - checkitem document-syntaxmode-matlab - menu document_syntaxmode_N-Z: - checkitem document-syntaxmode-nsis - checkitem document-syntaxmode-pascal - checkitem document-syntaxmode-perl - checkitem document-syntaxmode-php - checkitem document-syntaxmode-property - checkitem document-syntaxmode-ps - checkitem document-syntaxmode-python - checkitem document-syntaxmode-ruby - checkitem document-syntaxmode-scheme - checkitem document-syntaxmode-sh - checkitem document-syntaxmode-sql - checkitem document-syntaxmode-tcl - checkitem document-syntaxmode-tex - checkitem document-syntaxmode-vb - checkitem document-syntaxmode-vbs - checkitem document-syntaxmode-xml - checkitem document-syntaxmode-yaml - - menu document_syntaxmode_compiled: - checkitem document-syntaxmode-asm - checkitem document-syntaxmode-c - checkitem document-syntaxmode-cs - checkitem document-syntaxmode-eiffel - checkitem document-syntaxmode-forth - checkitem document-syntaxmode-fortran - checkitem document-syntaxmode-java - checkitem document-syntaxmode-pascal - menu document_syntaxmode_interpreted: - checkitem document-syntaxmode-batch - checkitem document-syntaxmode-js - checkitem document-syntaxmode-lisp - checkitem document-syntaxmode-lua - checkitem document-syntaxmode-nsis - checkitem document-syntaxmode-perl - checkitem document-syntaxmode-php - checkitem document-syntaxmode-ps - checkitem document-syntaxmode-python - checkitem document-syntaxmode-ruby - checkitem document-syntaxmode-scheme - checkitem document-syntaxmode-sh - checkitem document-syntaxmode-tcl - checkitem document-syntaxmode-vb - checkitem document-syntaxmode-vbs - menu document_syntaxmode_document: - checkitem document-syntaxmode-context - checkitem document-syntaxmode-css - checkitem document-syntaxmode-html - checkitem document-syntaxmode-latex - checkitem document-syntaxmode-ps - checkitem document-syntaxmode-tex - menu document_syntaxmode_data_structure: - checkitem document-syntaxmode-conf - checkitem document-syntaxmode-property - checkitem document-syntaxmode-sql - checkitem document-syntaxmode-xml - checkitem document-syntaxmode-yaml - menu document_syntaxmode_web: - checkitem document-syntaxmode-as - checkitem document-syntaxmode-css - checkitem document-syntaxmode-html - checkitem document-syntaxmode-js - checkitem document-syntaxmode-perl - checkitem document-syntaxmode-php - checkitem document-syntaxmode-vbs - menu document_syntaxmode_special: - checkitem document-syntaxmode-baan - checkitem document-syntaxmode-diff - checkitem document-syntaxmode-err - checkitem document-syntaxmode-idl - checkitem document-syntaxmode-make - checkitem document-syntaxmode-matlab - menu document_encoding: - radioitem document-encoding-ascii - radioitem document-encoding-latin1# - radioitem document-encoding-utf8 - checkitem document-tabs-use - menu document_tab_width: - radioitem document-tabs-width-1 - radioitem document-tabs-width-2 - radioitem document-tabs-width-3 - radioitem document-tabs-width-4 - radioitem document-tabs-width-5 - radioitem document-tabs-width-6 - radioitem document-tabs-width-8 - menu document_lineendchar: - radioitem document-EOL-lf - radioitem document-EOL-cr - radioitem document-EOL-cr+lf - menu document_readonly: - radioitem document-readonly-as-attr - radioitem document-readonly-on - radioitem document-readonly-off - menu view: - menu view_window: - checkitem view-window-fullscreen - checkitem view-editpanel-maximize - checkitem view-window-stay-on-top - checkitem view-window-transparent - menu view_panel: - checkitem view-panel-output - checkitem view-panel-notepad - menu view_bars: - checkitem view-menubar - checkitem view-toolbar - checkitem view-tabbar - checkitem view-searchbar - checkitem view-statusbar - menu view_contextmenu: - checkitem view-tabbar-contexmenu# - menu view_editpanel_contexmenu: - radioitem view-editpanel-contextmenu-custom - radioitem view-editpanel-contextmenu-default - radioitem view-editpanel-contextmenu-no - checkitem view-editpanel-margin-contexmenu - checkitem view-searchbar-contexmenu - checkitem view-statusbar-contexmenu - - checkitem view-editpanel-margin-marker - checkitem view-editpanel-margin-line-number - checkitem view-editpanel-margin-text-fold - menu view_text_fold: - item view-editpanel-fold-toggle-here - item view-editpanel-fold-toggle-recursively - item view-editpanel-fold-toggle-level - item view-editpanel-fold-toggle-all - menu view_textmargin: - radioitem view-editpanel-margin-text-0 - radioitem view-editpanel-margin-text-1 - radioitem view-editpanel-margin-text-2 - radioitem view-editpanel-margin-text-3 - radioitem view-editpanel-margin-text-4 - radioitem view-editpanel-margin-text-6 - radioitem view-editpanel-margin-text-8 - radioitem view-editpanel-margin-text-10 - radioitem view-editpanel-margin-text-12 - - checkitem view-editpanel-right-margin - checkitem view-editpanel-line-wrap - checkitem view-editpanel-indicator-indention-guide - checkitem view-editpanel-indicator-brace-light - checkitem view-editpanel-indicator-caret-line - checkitem view-editpanel-indicator-EOL - checkitem view-editpanel-indicator-whitespace - item view-editpanel-font - menu view_zoom: - item view-editpanel-zoom-in - item view-editpanel-zoom-out - item view-editpanel-zoom-normal - menu config: - item view-dialog-config# - # - menu config_app_lang - - menu config_global: - item config-file-global-open - item config-file-global-reload - item config-file-global-save - - item config-file-global-load-from - item config-file-global-merge - item config-file-global-save-as - - item config-file-global-load-backup - item config-file-global-load-defaults - menu config_interface: - item config-file-interface-commandlist - item config-file-interface-menubar - item config-file-interface-contextmenu - item config-file-interface-toolbar - item config-file-interface-maintoolbar# - item config-file-interface-searchbar# - item config-file-interface-statusbar# - menu config_localisation - menu config_syntaxmode_A-M: - item config-file-syntaxmode-ada - item config-file-syntaxmode-as - item config-file-syntaxmode-asm - item config-file-syntaxmode-ave - item config-file-syntaxmode-baan - item config-file-syntaxmode-batch - item config-file-syntaxmode-c - item config-file-syntaxmode-cs - item config-file-syntaxmode-conf - item config-file-syntaxmode-context - item config-file-syntaxmode-css - item config-file-syntaxmode-diff - item config-file-syntaxmode-eiffel - item config-file-syntaxmode-err - item config-file-syntaxmode-forth - item config-file-syntaxmode-fortran - item config-file-syntaxmode-html - item config-file-syntaxmode-idl - item config-file-syntaxmode-java - item config-file-syntaxmode-js - item config-file-syntaxmode-latex - item config-file-syntaxmode-lisp - item config-file-syntaxmode-lua - item config-file-syntaxmode-make - item config-file-syntaxmode-matlab - menu config_syntaxmode_N-Z: - item config-file-syntaxmode-nsis - item config-file-syntaxmode-pascal - item config-file-syntaxmode-perl - item config-file-syntaxmode-php - item config-file-syntaxmode-property - item config-file-syntaxmode-ps - item config-file-syntaxmode-python - item config-file-syntaxmode-ruby - item config-file-syntaxmode-scheme - item config-file-syntaxmode-sh - item config-file-syntaxmode-sql - item config-file-syntaxmode-tcl - item config-file-syntaxmode-tex - item config-file-syntaxmode-vb - item config-file-syntaxmode-vbs - item config-file-syntaxmode-xml - item config-file-syntaxmode-yaml - item config-file-templates - menu help: - item view-documentation-welcome - item view-documentation-this-version - item view-documentation-navigation-guide - item view-documentation-feature-list - item view-documentation-advanced-tour - item view-documentation-credits - - item view-webpage-documentation - item view-webpage-forum - item view-webpage-bug-tracker - item view-webpage-feature-wish - - item view-dialog-keymap - item view-dialog-info kephra-0.4.3.32+dfsg.orig/share/config/interface/contextmenus.yml0000644000175000017500000001103511573645306023715 0ustar rizlarizla--- editpanel_contextmenu: - item edit-changes-undo - item edit-changes-redo - - item edit-paste - item select-document - - item goto-last-edit - item view-dialog-find - - item file-save-current - item file-open - - item file-close-current textselection_contextmenu: - item edit-copy - item edit-paste - item edit-replace - item edit-cut - item edit-delete - - item find-selection - item replace-selection - item tool-note-selection - - item edit-selection-comment-toggle-perl - - item edit-selection-convert-uppercase - item edit-selection-convert-lowercase markermargin_contextmenu: - menu marker: - item marker-toggle-here - item marker-goto-prev-doc - item marker-goto-next-doc - item marker-goto-prev-all - item marker-goto-next-all - item marker-delete-doc - item marker-delete-all - - menu bookmark_toggle: - item bookmark-toggle-1 - item bookmark-toggle-2 - item bookmark-toggle-3 - item bookmark-toggle-4 - item bookmark-toggle-5 - item bookmark-toggle-6 - item bookmark-toggle-7 - item bookmark-toggle-8 - item bookmark-toggle-9 - item bookmark-toggle-0 - menu bookmark_goto: - item bookmark-goto-1 - item bookmark-goto-2 - item bookmark-goto-3 - item bookmark-goto-4 - item bookmark-goto-5 - item bookmark-goto-6 - item bookmark-goto-7 - item bookmark-goto-8 - item bookmark-goto-9 - item bookmark-goto-0 - item bookmark-delete-doc - item bookmark-delete-all - - item goto-line - - menu view_text_fold: - item view-editpanel-fold-toggle-here - item view-editpanel-fold-toggle-recursively - item view-editpanel-fold-toggle-level - item view-editpanel-fold-toggle-all - - checkitem view-editpanel-margin-marker - checkitem view-editpanel-margin-line-number - checkitem view-editpanel-margin-text-fold - menu view_textmargin: - radioitem view-editpanel-margin-text-0 - radioitem view-editpanel-margin-text-1 - radioitem view-editpanel-margin-text-2 - radioitem view-editpanel-margin-text-3 - radioitem view-editpanel-margin-text-4 - radioitem view-editpanel-margin-text-6 - radioitem view-editpanel-margin-text-8 - radioitem view-editpanel-margin-text-10 - radioitem view-editpanel-margin-text-12 searchbar_contextmenu: - checkitem search-attribute-incremental-switch - checkitem search-attribute-autowrap-switch - - checkitem search-attribute-regex-switch - checkitem search-attribute-match-whole-word-switch - checkitem search-attribute-match-word-begin-switch - checkitem search-attribute-match-case-switch - - radioitem search-range-selection - radioitem search-range-document - radioitem search-range-open-docs status_syntaxstyle_contextmenu: - checkitem document-syntaxmode-c - checkitem document-syntaxmode-conf - checkitem document-syntaxmode-css - checkitem document-syntaxmode-html - checkitem document-syntaxmode-js - checkitem document-syntaxmode-perl - checkitem document-syntaxmode-xml - checkitem document-syntaxmode-yaml - - item document-syntaxmode-auto - checkitem document-syntaxmode-none status_whitespace_contextmenu: - checkitem tool-auto-indention - checkitem tool-brace-indention - - checkitem view-editpanel-whitespace - menu document_tab_width: - radioitem document-tabs-width-1 - radioitem document-tabs-width-2 - radioitem document-tabs-width-3 - radioitem document-tabs-width-4 - radioitem document-tabs-width-5 - radioitem document-tabs-width-6 - radioitem document-tabs-width-8 - menu document_convert: - item edit-document-convert-tabs2spaces - item edit-document-convert-spaces2tabs - - item edit-document-convert-indent2spaces - item edit-document-convert-indent2tabs - - item edit-document-format-del-trailing-whitespace - - radioitem document-tabs-soft - radioitem document-tabs-hard status_lineendchar_contextmenu: - checkitem view-editpanel-indicator-EOL - - item document-EOL-auto - - radioitem document-EOL-lf - radioitem document-EOL-cr - radioitem document-EOL-cr+lf status_info_contexmenu: - radioitem view-statusbar-info-none - radioitem view-statusbar-info-length - radioitem view-statusbar-info-date kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/0000755000175000017500000000000011633700043021351 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/icon/splash/0000755000175000017500000000000011633700043022643 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/icon/splash/start_kephra.xpm0000644000175000017500000031721411573645305026104 0ustar rizlarizla/* XPM */ static char * start_kephra_xpm[] = { "345 80 2968 2", " c #B7BFD2", ". c #B6BED1", "+ c #B5BDD2", "@ c #B4BCD1", "# c #B3BBD0", "$ c #B1B9D0", "% c #B0B8CF", "& c #ADB7D0", "* c #ACB6CF", "= c #AAB4CF", "- c #A9B3CE", "; c #A8B1CE", "> c #A6AFCC", ", c #A4ADCA", "' c #A1ACC8", ") c #A0ABCB", "! c #9CA9C9", "~ c #99A6C6", "{ c #97A4C4", "] c #95A4C5", "^ c #93A2C3", "/ c #919FC4", "( c #8F9DC2", "_ c #8B9AC3", ": c #8998C1", "< c #8495C0", "[ c #8293BE", "} c #7F92BD", "| c #7C8FBA", "1 c #798BB9", "2 c #7489B8", "3 c #7185B7", "4 c #6F85B7", "5 c #6C82B4", "6 c #697FB1", "7 c #667DB3", "8 c #6279AF", "9 c #5F75AE", "0 c #5D73AC", "a c #5971AD", "b c #566EAA", "c c #526BAB", "d c #4F68A8", "e c #4B67A8", "f c #4864A5", "g c #4560A3", "h c #415EA2", "i c #405DA3", "j c #3D5BA3", "k c #3B59A1", "l c #39579F", "m c #37559E", "n c #35539C", "o c #31519C", "p c #30509B", "q c #2E4E9B", "r c #2D4D9A", "s c #2A4B9A", "t c #294A99", "u c #274899", "v c #264798", "w c #224596", "x c #214495", "y c #204395", "z c #1F4294", "A c #1F4296", "B c #1E4195", "C c #1D4094", "D c #1C3F93", "E c #193D93", "F c #193D95", "G c #183C94", "H c #758AB9", "I c #7286B8", "J c #38569F", "K c #36549D", "L c #32529D", "M c #2F4F9C", "N c #28499A", "O c #B6BED3", "P c #B2BAD1", "Q c #6A80B2", "R c #637AB0", "S c #425FA3", "T c #2B4C9B", "U c #ABB5D0", "V c #A2ADC9", "W c #98A5C5", "X c #8596C1", "Y c #7D90BB", "Z c #6076AF", "` c #5E74AD", " . c #5069A9", ".. c #4965A6", "+. c #4661A4", "@. c #3E5CA4", "#. c #3C5AA2", "$. c #3A58A0", "%. c #B4BCD3", "&. c #B3BBD2", "*. c #B0BBD1", "=. c #AFBAD0", "-. c #A8B2CD", ";. c #A6B0CB", ">. c #9AA7C7", ",. c #94A3C4", "'. c #8C9BC4", "). c #6D83B5", "!. c #576FAB", "~. c #4C68A9", "{. c #4360A4", "]. c #234697", "^. c #9EABCB", "/. c #96A5C6", "(. c #8A99C2", "_. c #8394BF", ":. c #8093BE", "<. c #536CAC", "[. c #4A66A7", "}. c #415EA4", "|. c #3957A0", "1. c #33539E", "2. c #B5BDD4", "3. c #B1BCD2", "4. c #AFB9D2", "5. c #AEB8D1", "6. c #A7B3CD", "7. c #A5B1CB", "8. c #A3AECA", "9. c #7A8CBA", "0. c #4762A5", "a. c #214496", "b. c #4461A5", "c. c #3F5DA5", "d. c #B0BAD3", "e. c #ADB7D2", "f. c #ACB6D1", "g. c #AAB6D0", "h. c #A8B4CE", "i. c #9DAACA", "j. c #9BA8C8", "k. c #92A0C5", "l. c #909EC3", "m. c #768BBA", "n. c #7086B8", "o. c #657CB2", "p. c #6278B1", "q. c #5A72AE", "r. c #204397", "s. c #1A3E94", "t. c #9EACC9", "u. c #5870AC", "v. c #ACB8D2", "w. c #ABB7D1", "x. c #A9B5CF", "y. c #A6B2CC", "z. c #A4B0CA", "A. c #7387B9", "B. c #7187B9", "C. c #97A6C7", "D. c #8D9CC5", "E. c #7E91BC", "F. c #7B8DBB", "G. c #6E84B6", "H. c #677EB4", "I. c #5B73AF", "J. c #546DAD", "K. c #516AAA", "L. c #4D69AA", "M. c #294A9B", "N. c #ABB5CE", "O. c #8697C2", "P. c #778CBB", "Q. c #4863A6", "R. c #425FA5", "S. c #30509D", "T. c #2C4D9C", "U. c #AAB4CD", "V. c #A9B3CC", "W. c #A3AFC9", "X. c #8194BF", "Y. c #6379B2", "Z. c #4562A6", "`. c #A7B1CC", " + c #A0AEC8", ".+ c #9FADC8", "++ c #7488BA", "@+ c #7288BA", "#+ c #6B81B3", "$+ c #3A58A1", "%+ c #34549F", "&+ c #244798", "*+ c #A5B0CC", "=+ c #A4AFCB", "-+ c #A0AEC9", ";+ c #92A0C3", ">+ c #8D9CC3", ",+ c #7C8EBC", "'+ c #6F83B6", ")+ c #6B80B5", "!+ c #687DB4", "~+ c #667CB5", "{+ c #5F75AF", "]+ c #5D73AF", "^+ c #556DAB", "/+ c #4F68AA", "(+ c #4661A6", "_+ c #183B95", ":+ c #173D92", "<+ c #173C94", "[+ c #A3AECC", "}+ c #A2ADCB", "|+ c #9DABC8", "1+ c #9CAAC7", "2+ c #99A8C5", "3+ c #98A7C6", "4+ c #92A2C4", "5+ c #91A1C5", "6+ c #8B9AC1", "7+ c #8698C0", "8+ c #8496BE", "9+ c #8091BC", "0+ c #7789B9", "a+ c #7283B7", "b+ c #6D81B6", "c+ c #6B7EB8", "d+ c #677BB6", "e+ c #6377B2", "f+ c #6076B2", "g+ c #4D66A9", "h+ c #4A62A8", "i+ c #4560A7", "j+ c #3E5CA2", "k+ c #3C5AA0", "l+ c #36539F", "m+ c #35529E", "n+ c #264699", "o+ c #254598", "p+ c #214498", "q+ c #1D3F96", "r+ c #193B92", "s+ c #193B94", "t+ c #183B97", "u+ c #153E90", "v+ c #153D92", "w+ c #A1ACCA", "x+ c #9FADCA", "y+ c #9BA9C6", "z+ c #97A6C5", "A+ c #90A0C2", "B+ c #8799C1", "C+ c #8597BF", "D+ c #7A8DB8", "E+ c #7789B7", "F+ c #7587B7", "G+ c #6F80B6", "H+ c #687BB6", "I+ c #6175B2", "J+ c #536BA9", "K+ c #4D66A8", "L+ c #38569E", "M+ c #224599", "N+ c #1B3F95", "O+ c #183C92", "P+ c #193C90", "Q+ c #173D90", "R+ c #9EACC7", "S+ c #9AA9C6", "T+ c #91A1C3", "U+ c #8F9FC1", "V+ c #8E9DC4", "W+ c #8C9BC2", "X+ c #7084B7", "Y+ c #6B7EB6", "Z+ c #687BB5", "`+ c #6479B2", " @ c #6175B0", ".@ c #5D73AD", "+@ c #5972AB", "@@ c #526CA9", "#@ c #2A4B9C", "$@ c #1A3E96", "%@ c #193B95", "&@ c #9AA9C8", "*@ c #99A8C7", "=@ c #96A5C4", "-@ c #8F9FC3", ";@ c #7587B5", ">@ c #7084B6", ",@ c #6D81B4", "'@ c #6B7FB4", ")@ c #677CB3", "!@ c #5B74AC", "~@ c #556FA8", "{@ c #526CA7", "]@ c #506AA7", "^@ c #4D66A6", "/@ c #31519E", "(@ c #2D4E9D", "_@ c #193C8E", ":@ c #9AA7C9", "<@ c #99A6C8", "[@ c #99A8C9", "}@ c #98A7C8", "|@ c #94A4C6", "1@ c #90A0C4", "2@ c #8E9EC2", "3@ c #7D8EBA", "4@ c #778AB5", "5@ c #7388B5", "6@ c #6E82B5", "7@ c #6A7FB4", "8@ c #677CB1", "9@ c #6479B0", "0@ c #6077AD", "a@ c #5C75AB", "b@ c #5972AA", "c@ c #4E6BA7", "d@ c #4C68A7", "e@ c #224597", "f@ c #183C90", "g@ c #183D8E", "h@ c #98A5C7", "i@ c #97A4C6", "j@ c #93A3C5", "k@ c #5A73AB", "l@ c #536DA8", "m@ c #4F6CA8", "n@ c #4964A7", "o@ c #27479A", "p@ c #1E4097", "q@ c #95A3C6", "r@ c #94A2C5", "s@ c #92A2C6", "t@ c #8F9EC5", "u@ c #8A9CC4", "v@ c #889AC2", "w@ c #8293BF", "x@ c #8091BD", "y@ c #788AB8", "z@ c #5C75AD", "A@ c #5670A9", "B@ c #4762A7", "C@ c #254697", "D@ c #173C95", "E@ c #193A97", "F@ c #93A1C4", "G@ c #93A1C6", "H@ c #899BC3", "I@ c #7388B7", "J@ c #6E82B7", "K@ c #6B80B7", "L@ c #4F6BAA", "M@ c #4964A9", "N@ c #173C97", "O@ c #173B99", "P@ c #8B9DC5", "Q@ c #8798C3", "R@ c #8394C0", "S@ c #7C8DB9", "T@ c #7486B6", "U@ c #768ABC", "V@ c #6C81B8", "W@ c #687DB6", "X@ c #6177B0", "Y@ c #5D76AE", "Z@ c #556FAC", "`@ c #506CAD", " # c #4B66A9", ".# c #4964AB", "+# c #3D5BA1", "@# c #34529B", "## c #1E4193", "$# c #173A94", "%# c #183C9C", "&# c #133A99", "*# c #143994", "=# c #183D96", "-# c #193E97", ";# c #133890", "># c #153A93", ",# c #163B96", "'# c #173B91", ")# c #173B93", "!# c #8C9DC8", "~# c #7E8FBA", "{# c #7F90BC", "]# c #7E8FBD", "^# c #7B8DBD", "/# c #7589BB", "(# c #7185BA", "_# c #6A7DB5", ":# c #677CB5", "<# c #667BB4", "[# c #536BA7", "}# c #526BAD", "|# c #4D68AD", "1# c #4863AA", "2# c #4461A7", "3# c #2D4E9B", "4# c #1C4096", "5# c #143898", "6# c #1F43A3", "7# c #183C9A", "8# c #1B4099", "9# c #11358D", "0# c #153B90", "a# c #193F94", "b# c #193E96", "c# c #183E93", "d# c #183E91", "e# c #899BC1", "f# c #8697C3", "g# c #8495C1", "h# c #8192BE", "i# c #7A8BB7", "j# c #7889B7", "k# c #788ABA", "l# c #7183B5", "m# c #7283B9", "n# c #7387BC", "o# c #6C7FB7", "p# c #4E67AA", "q# c #4C64AC", "r# c #4360A6", "s# c #3E5DA0", "t# c #3C5B9E", "u# c #3B599F", "v# c #2E4F9C", "w# c #2C4D9A", "x# c #1A3E92", "y# c #1B3F93", "z# c #183B99", "A# c #103391", "B# c #12358F", "C# c #163B8C", "D# c #8799BF", "E# c #7E8FBB", "F# c #7486B8", "G# c #7081B5", "H# c #6B7CB2", "I# c #6579AE", "J# c #6477AF", "K# c #5E73AA", "L# c #5B71AA", "M# c #596FA9", "N# c #556DA9", "O# c #526AAA", "P# c #4E67A9", "Q# c #4560A5", "R# c #39579D", "S# c #37559D", "T# c #2F509D", "U# c #1A3C93", "V# c #203F99", "W# c #1D3D94", "X# c #1D3E8D", "Y# c #193A87", "Z# c #22448E", "`# c #1C408C", " $ c #1A3E8C", ".$ c #1B3E92", "+$ c #163C8F", "@$ c #7687B3", "#$ c #7788B6", "$$ c #7989BA", "%$ c #7484B7", "&$ c #7384B8", "*$ c #7687BB", "=$ c #677BB0", "-$ c #697EB3", ";$ c #637AAE", ">$ c #5D74AA", ",$ c #5871AA", "'$ c #566EAC", ")$ c #4B63A9", "!$ c #435EA3", "~$ c #3F5EA1", "{$ c #3D5C9F", "]$ c #3A589E", "^$ c #1C4094", "/$ c #1F3B8E", "($ c #284392", "_$ c #2A4690", ":$ c #365399", "<$ c #2C4B8E", "[$ c #355497", "}$ c #26478C", "|$ c #23438C", "1$ c #214293", "2$ c #1B3D94", "3$ c #193C96", "4$ c #8395BD", "5$ c #8192BD", "6$ c #8596C2", "7$ c #8899C5", "8$ c #8091BF", "9$ c #7888B9", "0$ c #7181B2", "a$ c #6E80B2", "b$ c #6A7EB0", "c$ c #6D81B3", "d$ c #697FB0", "e$ c #687FB3", "f$ c #546CAA", "g$ c #516AAC", "h$ c #4F68AB", "i$ c #35539B", "j$ c #284998", "k$ c #1D4195", "l$ c #204093", "m$ c #29438E", "n$ c #3F569C", "o$ c #40579A", "p$ c #455F9C", "q$ c #4966A0", "r$ c #375490", "s$ c #3B5999", "t$ c #2F4D93", "u$ c #244491", "v$ c #1D3D90", "w$ c #193892", "x$ c #183A94", "y$ c #163A92", "z$ c #7F92BC", "A$ c #7E91BB", "B$ c #8798C4", "C$ c #899AC6", "D$ c #8A9BC7", "E$ c #8E9CC9", "F$ c #8694C1", "G$ c #8095C4", "H$ c #798EBD", "I$ c #7C92C1", "J$ c #758CBE", "K$ c #6B82B6", "L$ c #5E77B0", "M$ c #4F67A7", "N$ c #4962A4", "O$ c #1E4296", "P$ c #234294", "Q$ c #3B5298", "R$ c #4A5E9B", "S$ c #40558E", "T$ c #1C3369", "U$ c #1C3669", "V$ c #253E74", "W$ c #304A85", "X$ c #395497", "Y$ c #2D4993", "Z$ c #244093", "`$ c #1D3B93", " % c #1C3B96", ".% c #1A3C96", "+% c #7B8EB9", "@% c #7B8CB8", "#% c #7A8BB9", "$% c #7588B3", "%% c #7788B3", "&% c #8294BC", "*% c #7C8AB1", "=% c #576389", "-% c #374467", ";% c #3E4C71", ">% c #6A789F", ",% c #8895BF", "'% c #8491BB", ")% c #8998C3", "!% c #8796BF", "~% c #66759E", "{% c #36456C", "]% c #2D3F65", "^% c #2A3D65", "/% c #354A77", "(% c #4C6294", "_% c #5B71AB", ":% c #556DAD", "<% c #4861A4", "[% c #4662A3", "}% c #43619F", "|% c #42609E", "1% c #415F9F", "2% c #3F5D9B", "3% c #3E5B9D", "4% c #39559E", "5% c #2F4F9A", "6% c #2B4C9D", "7% c #274897", "8% c #274895", "9% c #264794", "0% c #264796", "a% c #214593", "b% c #204394", "c% c #1F4293", "d% c #1D4091", "e% c #1B4090", "f% c #1F4494", "g% c #284891", "h% c #475A9C", "i% c #415087", "j% c #5E6F9B", "k% c #A2B6DB", "l% c #A7BBE0", "m% c #A2B8E1", "n% c #314778", "o% c #425892", "p% c #395197", "q% c #2E4797", "r% c #254097", "s% c #213F97", "t% c #1F3F94", "u% c #1B3F97", "v% c #183D95", "w% c #1C3F91", "x% c #1E3E91", "y% c #1D4293", "z% c #1D4092", "A% c #1E4192", "B% c #204492", "C% c #234493", "D% c #224295", "E% c #7A8CBC", "F% c #798BBB", "G% c #758BB4", "H% c #768BB6", "I% c #7688B8", "J% c #7788B4", "K% c #7286B9", "L% c #748ABB", "M% c #6C81AE", "N% c #798DB0", "O% c #7F8FB0", "P% c #8D9ABD", "Q% c #565C7C", "R% c #8D92A8", "S% c #AFB4C8", "T% c #ADB5CC", "U% c #A5ACC6", "V% c #414865", "W% c #9DA3C3", "X% c #9DA3C7", "Y% c #8286AB", "Z% c #4B4F72", "`% c #696C8B", " & c #B0B4CD", ".& c #ABB1C7", "+& c #AEB9CF", "@& c #2A3B66", "#& c #5B6EA6", "$& c #5B72B6", "%& c #4F67AF", "&& c #536DA0", "*& c #5670A1", "=& c #546EA1", "-& c #5771A2", ";& c #5873A0", ">& c #4B6799", ",& c #4A63A5", "'& c #435DA7", ")& c #3A579D", "!& c #314F98", "~& c #3352A4", "{& c #3050A3", "]& c #274B99", "^& c #3054A0", "/& c #3656A1", "(& c #304E96", "_& c #39569A", ":& c #385597", "<& c #3D5A9C", "[& c #3D5B9B", "}& c #395899", "|& c #36549A", "1& c #2F4F98", "2& c #2D4D96", "3& c #23458C", "4& c #204589", "5& c #1B4182", "6& c #335292", "7& c #586BA6", "8& c #303C6C", "9& c #98A8C1", "0& c #D9E9F8", "a& c #DAEAF9", "b& c #D8E9FD", "c& c #132345", "d& c #6A7BA9", "e& c #5567A5", "f& c #4359A2", "g& c #334C9C", "h& c #304D9D", "i& c #2D4F97", "j& c #20448E", "k& c #22469A", "l& c #1A3F98", "m& c #153E96", "n& c #153F95", "o& c #214897", "p& c #1D418D", "q& c #2B4B94", "r& c #35519B", "s& c #304A97", "t& c #314C99", "u& c #3552A0", "v& c #3658A0", "w& c #31569D", "x& c #30529A", "y& c #32549E", "z& c #2E4D9D", "A& c #204796", "B& c #184191", "C& c #193F90", "D& c #214697", "E& c #204596", "F& c #1E4290", "G& c #32549C", "H& c #2D4E91", "I& c #395996", "J& c #375792", "K& c #3A5896", "L& c #3D5C9C", "M& c #314E94", "N& c #2C4798", "O& c #2D4A9A", "P& c #254693", "Q& c #1C408E", "R& c #13378B", "S& c #1C3F99", "T& c #153997", "U& c #1E419B", "V& c #14388E", "W& c #1B3B90", "X& c #1B3B92", "Y& c #1B3A94", "Z& c #7688BA", "`& c #7587B9", " * c #7388B3", ".* c #7489B4", "+* c #7485B9", "@* c #7586B2", "#* c #7487B2", "$* c #7185B8", "%* c #6F83B8", "&* c #667CAE", "** c #6E85B1", "=* c #6F83A4", "-* c #8192AE", ";* c #99A2C1", ">* c #1B1F3A", ",* c #E0DFEF", "'* c #E2E2EE", ")* c #DFE2F3", "!* c #A3AABD", "~* c #535770", "{* c #AAAECB", "]* c #6F7291", "^* c #313250", "/* c #9C9CB8", "(* c #E3E3FB", "_* c #EAEBFF", ":* c #DDE0F1", "<* c #B2B9CC", "[* c #212B46", "}* c #5C6993", "|* c #6071A5", "1* c #586DAE", "2* c #5D74B8", "3* c #677DB9", "4* c #738AB6", "5* c #6B81AA", "6* c #7287B2", "7* c #748AB3", "8* c #697FA4", "9* c #6B82AB", "0* c #657AB3", "a* c #5B70B1", "b* c #465F9F", "c* c #425DA0", "d* c #33559D", "e* c #34559A", "f* c #435FA0", "g* c #5068A6", "h* c #546AA6", "i* c #546AA3", "j* c #5C73A9", "k* c #576EA4", "l* c #556CA2", "m* c #647AB3", "n* c #536CA5", "o* c #5169A5", "p* c #44609F", "q* c #32508C", "r* c #22417A", "s* c #2F4F88", "t* c #415C93", "u* c #5E6EA2", "v* c #293259", "w* c #CDD9E7", "x* c #E3EEF0", "y* c #DEE9EF", "z* c #A8B1C0", "A* c #3D4762", "B* c #929BC2", "C* c #7481B5", "D* c #6474B0", "E* c #586DB0", "F* c #41619C", "G* c #325493", "H* c #224191", "I* c #21439A", "J* c #1F459A", "K* c #2A51A0", "L* c #274C93", "M* c #3A599A", "N* c #445E9B", "O* c #455B97", "P* c #5669AB", "Q* c #5164A8", "R* c #4D62A5", "S* c #4C69A5", "T* c #5776AF", "U* c #5673AD", "V* c #4864A3", "W* c #4760A3", "X* c #3A559C", "Y* c #274990", "Z* c #244A93", "`* c #244896", " = c #1B3C8B", ".= c #3555A2", "+= c #3A5697", "@= c #4E689B", "#= c #6078A8", "$= c #556C9E", "%= c #6177B3", "&= c #4C61A2", "*= c #4F63A8", "== c #3C549A", "-= c #21468D", ";= c #244799", ">= c #153896", ",= c #1A3E9C", "'= c #163993", ")= c #1C3A94", "!= c #1B3A95", "~= c #6F84B1", "{= c #7085B4", "]= c #7384BA", "^= c #7182B8", "/= c #7183B1", "(= c #657BAD", "_= c #647BA5", ":= c #687D9C", "<= c #7B8CA6", "[= c #747D9A", "}= c #52566F", "|= c #EDECFA", "1= c #E7E7F3", "2= c #E4E7F8", "3= c #6D7286", "4= c #7B819B", "5= c #717693", "6= c #404562", "7= c #B3B7D2", "8= c #E0E5F9", "9= c #DCE1F5", "0= c #757B95", "a= c #383E60", "b= c #5F6891", "c= c #7583B2", "d= c #7082B4", "e= c #697AAE", "f= c #4E5F8A", "g= c #3D4C73", "h= c #314067", "i= c #35446B", "j= c #324264", "k= c #324468", "l= c #425381", "m= c #6374A8", "n= c #657AAF", "o= c #5268A1", "p= c #445C9A", "q= c #415A9A", "r= c #4865A1", "s= c #5872AB", "t= c #4B5D8F", "u= c #404E7D", "v= c #475584", "w= c #6573A0", "x= c #7685B0", "y= c #4D5C85", "z= c #354370", "A= c #2F3D6C", "B= c #313F70", "C= c #374576", "D= c #334374", "E= c #526496", "F= c #4A5E93", "G= c #45598E", "H= c #2E4476", "I= c #4E608E", "J= c #5F6893", "K= c #424765", "L= c #DFE6F0", "M= c #E2E7EB", "N= c #E1E5F1", "O= c #818497", "P= c #72738F", "Q= c #43476A", "R= c #3A416B", "S= c #35406E", "T= c #324371", "U= c #2E4370", "V= c #475F8B", "W= c #506A9D", "X= c #435BA3", "Y= c #324B9B", "Z= c #2D4A96", "`= c #29478D", " - c #425C97", ".- c #455A8F", "+- c #3B4B7C", "@- c #465282", "#- c #4A5487", "$- c #6F79AC", "%- c #6975A7", "&- c #3F507E", "*- c #32456F", "=- c #2C3F67", "-- c #21335B", ";- c #364471", ">- c #495587", ",- c #58679E", "'- c #445E99", ")- c #355294", "!- c #2D4791", "~- c #3C539F", "{- c #4359A4", "]- c #465A9F", "^- c #3E518B", "/- c #36487A", "(- c #2D3E6A", "_- c #313F6C", ":- c #2D3B6A", "<- c #2F3C70", "[- c #2D3A6F", "}- c #303D71", "|- c #4A5889", "1- c #5C70A3", "2- c #44619D", "3- c #2B4C91", "4- c #133692", "5- c #193C9A", "6- c #6F83B5", "7- c #6E82B4", "8- c #6C82B3", "9- c #6D83B4", "0- c #6E81B9", "a- c #6F80B8", "b- c #6F81B3", "c- c #6F81B1", "d- c #6A7EB3", "e- c #667AAF", "f- c #6175A7", "g- c #566C95", "h- c #647795", "i- c #7E8EA7", "j- c #5F6682", "k- c #81839A", "l- c #DFDDEB", "m- c #E5E3EE", "n- c #E5E6F8", "o- c #43485C", "p- c #5D6278", "q- c #60667C", "r- c #D6DCF2", "s- c #E2EAFF", "t- c #E4ECFF", "u- c #B8C0D7", "v- c #424965", "w- c #4A5374", "x- c #8790B9", "y- c #808BB8", "z- c #7280AF", "A- c #6F80AC", "B- c #7689B3", "C- c #6C7EA4", "D- c #4D5B80", "E- c #364365", "F- c #657090", "G- c #9CA7C5", "H- c #B3BEDC", "I- c #A7B2CE", "J- c #ACBAD7", "K- c #828FB1", "L- c #2D3B60", "M- c #46557E", "N- c #677AA5", "O- c #6072A4", "P- c #516598", "Q- c #566BA0", "R- c #324472", "S- c #616E8E", "T- c #79809D", "U- c #7F85A7", "V- c #4D5375", "W- c #202743", "X- c #747B97", "Y- c #AAB0D0", "Z- c #A9AFD1", "`- c #AAB0D4", " ; c #A9B1D5", ".; c #919CBC", "+; c #313B5E", "@; c #3D4973", "#; c #56618E", "$; c #57648E", "%; c #5A638A", "&; c #5A5F7F", "*; c #787A91", "=; c #E0E3EA", "-; c #DFE2E7", ";; c #E5E4F4", ">; c #5B596F", ",; c #6B6981", "'; c #ACACC8", "); c #B0B3D6", "!; c #8D9DB7", "~; c #485B79", "{; c #394C76", "]; c #475997", "^; c #415499", "/; c #3B5295", "(; c #3F5891", "_; c #516597", ":; c #3A4972", "<; c #7B85A8", "[; c #777D9F", "}; c #7F83A8", "|; c #52567B", "1; c #373D61", "2; c #828BAA", "3; c #A5B1C9", "4; c #B8BFD9", "5; c #AAAFCC", "6; c #646788", "7; c #485077", "8; c #4E6092", "9; c #455B95", "0; c #45589C", "a; c #3A4B90", "b; c #243376", "c; c #35447D", "d; c #65729F", "e; c #8592B5", "f; c #AAB5D5", "g; c #A7B0D1", "h; c #ADB2DA", "i; c #ACB1DB", "j; c #AFB4DE", "k; c #A4A9CF", "l; c #696F8F", "m; c #283659", "n; c #3A5185", "o; c #405D9F", "p; c #2C4C97", "q; c #204095", "r; c #1B3D97", "s; c #153894", "t; c #1A3D97", "u; c #6A7FB8", "v; c #6B7FB2", "w; c #6A7EB1", "x; c #6778AE", "y; c #576999", "z; c #52658D", "A; c #637490", "B; c #7F8BA3", "C; c #3A4058", "D; c #AFB0C4", "E; c #E6E4F1", "F; c #EAE8F3", "G; c #DBDCF0", "H; c #25273C", "I; c #9BA1AF", "J; c #E3EBF6", "K; c #DAE4EE", "L; c #DBE7F5", "M; c #7D89A1", "N; c #273252", "O; c #636F97", "P; c #8591BB", "Q; c #8692BC", "R; c #7784AE", "S; c #717FA4", "T; c #7484A6", "U; c #606E91", "V; c #263451", "W; c #858E9F", "X; c #E1E9F4", "Y; c #DEE6F3", "Z; c #E6EEFB", "`; c #DAE2EF", " > c #E1E8F8", ".> c #E2E9FB", "+> c #DCE3F6", "@> c #E4EBFE", "#> c #DAE2F9", "$> c #5F6885", "%> c #435070", "&> c #6C789E", "*> c #64719B", "=> c #7785B4", "-> c #142144", ";> c #DFE7F4", ">> c #DFE4EA", ",> c #E6E9F8", "'> c #BCBFD0", ")> c #DBDFEA", "!> c #DADEE9", "~> c #E0E3F6", "{> c #E5E8FB", "]> c #D9E0EA", "^> c #D8DEEC", "/> c #393F59", "(> c #555A7A", "_> c #626784", ":> c #6C728C", "<> c #42435F", "[> c #A7A8BC", "}> c #DEE1E6", "|> c #E7E8ED", "1> c #EDEAFF", "2> c #C6C2DB", "3> c #E1DEF3", "4> c #E9E7FC", "5> c #E0E0FC", "6> c #E0E4FD", "7> c #E0EAF6", "8> c #DFECF5", "9> c #D9E8FB", "0> c #41506F", "a> c #556193", "b> c #4E5D96", "c> c #44558B", "d> c #586A9A", "e> c #38466B", "f> c #8790AD", "g> c #DADFF5", "h> c #E8E9FE", "i> c #D6D7EC", "j> c #9899AE", "k> c #E7E8FD", "l> c #DFE2F5", "m> c #DFE5F3", "n> c #E2E9F3", "o> c #DDDFEB", "p> c #E3E3EF", "q> c #E8E5F6", "r> c #8B8DA6", "s> c #3F4A77", "t> c #4E5D94", "u> c #465590", "v> c #515D97", "w> c #192358", "x> c #D6DFFF", "y> c #DEE5FF", "z> c #D9E0F0", "A> c #DCE2EE", "B> c #E5EBF9", "C> c #DCDEF7", "D> c #E7E8FF", "E> c #DEDFFD", "F> c #E0E2F9", "G> c #D9DDE9", "H> c #B8C3D5", "I> c #253A65", "J> c #516BA8", "K> c #3C58A1", "L> c #1C3B8D", "M> c #21409A", "N> c #143890", "O> c #687DB2", "P> c #667DB1", "Q> c #687BB3", "R> c #667AAD", "S> c #6273A9", "T> c #5D6FA1", "U> c #556893", "V> c #4E6084", "W> c #66748F", "X> c #7B869A", "Y> c #1D2236", "Z> c #E9EBFA", "`> c #E4E3EB", " , c #E7E6EE", "., c #C0BFCF", "+, c #BFC1D0", "@, c #E0E4EF", "#, c #E0E7EF", "$, c #D4DEE7", "%, c #586474", "&, c #4C5A74", "*, c #7F8DB0", "=, c #808DB9", "-, c #7886B3", ";, c #606D99", ">, c #6C7AA1", ",, c #7B88AA", "', c #5B6986", "), c #212C48", "!, c #BAC2D7", "~, c #E0E7F1", "{, c #E5E8EF", "], c #E3E5F1", "^, c #A2A4B1", "/, c #848693", "(, c #838695", "_, c #8C8DA1", ":, c #D7DAED", "<, c #E2E5F4", "[, c #DCE2F0", "}, c #E7EDFF", "|, c #363D57", "1, c #6F7994", "2, c #828BAC", "3, c #616A91", "4, c #4F5673", "5, c #E6EBEF", "6, c #E2E7E3", "7, c #E5E5EF", "8, c #DEE0ED", "9, c #E0E1E6", "0, c #D7DADF", "a, c #82818F", "b, c #848695", "c, c #A6A8B5", "d, c #E4E7EE", "e, c #E5E9EA", "f, c #DEE3E7", "g, c #9496AB", "h, c #484967", "i, c #787A93", "j, c #7D7F96", "k, c #2B2D44", "l, c #D7DAEB", "m, c #E6E9EE", "n, c #E5E8ED", "o, c #E1DFF5", "p, c #E8E6FE", "q, c #DEDDED", "r, c #888A99", "s, c #81819B", "t, c #A6A8BD", "u, c #DEE5EB", "v, c #D8E3E5", "w, c #E3EFFD", "x, c #8D99B3", "y, c #404C74", "z, c #596693", "A, c #566493", "B, c #5E6B95", "C, c #283351", "D, c #BFC5DB", "E, c #EBEEFD", "F, c #E0DFED", "G, c #E7E6F6", "H, c #E4E3F3", "I, c #DFE1F0", "J, c #B1B5C1", "K, c #838790", "L, c #80858B", "M, c #DCDFE4", "N, c #E2E3E8", "O, c #E7E4EF", "P, c #1E274E", "Q, c #6270A1", "R, c #515C92", "S, c #465085", "T, c #49517F", "U, c #DCE5FF", "V, c #BFC6D9", "W, c #989EAA", "X, c #7D818C", "Y, c #828491", "Z, c #86879C", "`, c #86869E", " ' c #D6D4EA", ".' c #E9EBF8", "+' c #DEE8F1", "@' c #4A5C80", "#' c #485E97", "$' c #445CA2", "%' c #284593", "&' c #1A3A91", "*' c #1B3E98", "=' c #143991", "-' c #657CB0", ";' c #657BB4", ">' c #647BB1", ",' c #617AB2", "'' c #6379B3", ")' c #6378AF", "!' c #6175AA", "~' c #5D6EA2", "{' c #566898", "]' c #51638B", "^' c #4E5E7F", "/' c #66728A", "(' c #70788B", "_' c #505664", ":' c #DCDCE8", "<' c #E3E2E8", "[' c #E9E7EC", "}' c #EDECF2", "|' c #DFDEE6", "1' c #E8EBF4", "2' c #AEB2BE", "3' c #262D3F", "4' c #59647A", "5' c #9CAAC5", "6' c #7D8CAD", "7' c #6A7CA4", "8' c #6475A0", "9' c #6A789D", "0' c #7580A0", "a' c #272E4A", "b' c #DDE3F3", "c' c #E7E9F8", "d' c #D4D3E5", "e' c #494661", "f' c #575471", "g' c #77758D", "h' c #70708A", "i' c #6F6B8C", "j' c #4D4D69", "k' c #DEE0EF", "l' c #E8ECF8", "m' c #DFE1F6", "n' c #74798F", "o' c #595F75", "p' c #878FA6", "q' c #565C7E", "r' c #797F99", "s' c #E1E6EA", "t' c #E5EBEB", "u' c #E2E3F5", "v' c #D8DAEF", "w' c #7A7C89", "x' c #2D313D", "y' c #5C5D72", "z' c #6D6F86", "A' c #313447", "B' c #C5C9D4", "C' c #DFE5E5", "D' c #E9F1F4", "E' c #3E4164", "F' c #7B7E9D", "G' c #767A95", "H' c #434762", "I' c #DDE2F5", "J' c #E7EEF4", "K' c #D9DEF2", "L' c #868BA1", "M' c #2F3541", "N' c #5F6571", "O' c #6F738E", "P' c #1B1F38", "Q' c #E5EEF3", "R' c #DFEAEC", "S' c #D6E2F0", "T' c #2C395B", "U' c #626E94", "V' c #546289", "W' c #7481A4", "X' c #263049", "Y' c #DDE4F6", "Z' c #E4E6F3", "`' c #BFC2D3", " ) c #4D5265", ".) c #434A5C", "+) c #59636F", "@) c #36404A", "#) c #B0B6C2", "$) c #DFE3EF", "%) c #E8E7F7", "&) c #DEE2FB", "*) c #142046", "=) c #6674A1", "-) c #5B6799", ";) c #5E6899", ">) c #242C5A", ",) c #21294E", "') c #373C5C", ")) c #545873", "!) c #747593", "~) c #6C6D8B", "{) c #717291", "]) c #6F708E", "^) c #58596E", "/) c #DDE1EC", "() c #E0E6E2", "_) c #DAE5E9", ":) c #617192", "<) c #435A9D", "[) c #18388D", "}) c #153D94", "|) c #6278B2", "1) c #6177B1", "2) c #5F78B0", "3) c #5E77AF", "4) c #5F78B1", "5) c #6076B0", "6) c #5D72A7", "7) c #576B9D", "8) c #526590", "9) c #49597D", "0) c #53627F", "a) c #667187", "b) c #4D5464", "c) c #838793", "d) c #E7E7EF", "e) c #E8E7EC", "f) c #E6E4E7", "g) c #E2E0E1", "h) c #EAEAEC", "i) c #E4E4EC", "j) c #6C6E7B", "k) c #656A7E", "l) c #AEB5CF", "m) c #8F9AB6", "n) c #7685A6", "o) c #63759B", "p) c #55678F", "q) c #5C6B94", "r) c #4F5877", "s) c #7C8298", "t) c #E3E3ED", "u) c #898896", "v) c #514D64", "w) c #56546C", "x) c #514F65", "y) c #54546C", "z) c #504F6E", "A) c #5F5F79", "B) c #E8EAF7", "C) c #DEE2EB", "D) c #DFE2F1", "E) c #82879A", "F) c #575F6C", "G) c #8D94A6", "H) c #424862", "I) c #AFB5CB", "J) c #DFE7E9", "K) c #E5EAED", "L) c #D1D3E8", "M) c #383C55", "N) c #5B5E6D", "O) c #8B919F", "P) c #9296AF", "Q) c #A2A6C1", "R) c #474C60", "S) c #B1BAC3", "T) c #DEE9E5", "U) c #DEE8E9", "V) c #AEB4CC", "W) c #363B5B", "X) c #9196B3", "Y) c #5E647E", "Z) c #727890", "`) c #DCE3F5", " ! c #DAE3EA", ".! c #676F84", "+! c #5A6277", "@! c #818A93", "#! c #99A1AC", "$! c #9296B1", "%! c #42465F", "&! c #E1E8EE", "*! c #DEE7F8", "=! c #77819A", "-! c #505B77", ";! c #626F8F", ">! c #606D8F", ",! c #5D6886", "'! c #565E73", ")! c #E4E8F1", "!! c #E2E6F1", "~! c #9399A7", "{! c #373E51", "]! c #5E6881", "^! c #76829C", "/! c #808FA6", "(! c #303F54", "_! c #B3C0D3", ":! c #DAE5F9", "~ c #DFECE5", ",~ c #A1AABB", "'~ c #414862", ")~ c #9199AE", "!~ c #464F60", "~~ c #A4ABBD", "{~ c #DDE5F2", "]~ c #DAE3E8", "^~ c #DCE6EF", "/~ c #1C273B", "(~ c #8893A7", "_~ c #7C8690", ":~ c #848C97", "<~ c #676B86", "[~ c #70758B", "}~ c #E1E9EC", "|~ c #E0E7F9", "1~ c #4C536F", "2~ c #67718C", "3~ c #646D8A", "4~ c #6D7695", "5~ c #484F6B", "6~ c #878EA0", "7~ c #E2E8F4", "8~ c #343B4E", "9~ c #76809B", "0~ c #677598", "a~ c #54668C", "b~ c #4C6085", "c~ c #465A7D", "d~ c #445778", "e~ c #475779", "f~ c #434F75", "g~ c #41507B", "h~ c #6A79A0", "i~ c #4F5E7B", "j~ c #1D2C41", "k~ c #7B8996", "l~ c #C4D1DA", "m~ c #DEE8F2", "n~ c #E1E4F5", "o~ c #DEE1F4", "p~ c #DCE0EC", "q~ c #E3EAF0", "r~ c #DBE2E8", "s~ c #D4DDEC", "t~ c #213153", "u~ c #677BAE", "v~ c #415999", "w~ c #2F4B95", "x~ c #19388B", "y~ c #1A3F97", "z~ c #5971AF", "A~ c #5973AE", "B~ c #5873AA", "C~ c #5974AB", "D~ c #4E6493", "E~ c #4A5D85", "F~ c #495877", "G~ c #59657D", "H~ c #262C3A", "I~ c #E3E7F0", "J~ c #E0E3E8", "K~ c #E0E0E8", "L~ c #9D9DA5", "M~ c #45444A", "N~ c #DAD9DE", "O~ c #E9E8EE", "P~ c #E7E7F1", "Q~ c #D7D9E6", "R~ c #3F4458", "S~ c #727995", "T~ c #7C87A7", "U~ c #667499", "V~ c #57658C", "W~ c #59678C", "X~ c #687393", "Y~ c #2B3149", "Z~ c #E7E9F6", "`~ c #E5E3E8", " { c #E3E2E0", ".{ c #E5E7E4", "+{ c #E2E8E6", "@{ c #DFE3EE", "#{ c #E4EAF8", "${ c #DADFF3", "%{ c #E1E8FB", "&{ c #DEE7F0", "*{ c #DBE6EA", "={ c #D4DCE9", "-{ c #2A323F", ";{ c #868E99", ">{ c #777F8C", ",{ c #4B5167", "'{ c #E2EAED", "){ c #DBE3E6", "!{ c #757A8E", "~{ c #767A93", "{{ c #8A909E", "]{ c #7B8390", "^{ c #8A90A6", "/{ c #61697E", "({ c #5D6677", "_{ c #D8E3E9", ":{ c #DBE8E1", "<{ c #DFEEEB", "[{ c #636C7D", "}{ c #6A758B", "|{ c #959DB0", "1{ c #202938", "2{ c #D1D7E3", "3{ c #E3EAF2", "4{ c #E7F0F5", "5{ c #AEB8C2", "6{ c #333E54", "7{ c #79849A", "8{ c #67717D", "9{ c #717986", "0{ c #A5A7BC", "a{ c #E3E7EA", "b{ c #E3E9E9", "c{ c #DBDEF1", "d{ c #1E2340", "e{ c #7C839F", "f{ c #676E8A", "g{ c #6F7491", "h{ c #2F334C", "i{ c #C2C8D6", "j{ c #E4E8F3", "k{ c #B7BDCB", "l{ c #313852", "m{ c #727FA1", "n{ c #495A86", "o{ c #374B7D", "p{ c #344A7C", "q{ c #354D7D", "r{ c #3B5180", "s{ c #435887", "t{ c #475788", "u{ c #4C5A89", "v{ c #63709C", "w{ c #616E91", "x{ c #253147", "y{ c #B8C6D1", "z{ c #D6E1E7", "A{ c #E0E6F2", "B{ c #C7CDDB", "C{ c #AEB1C4", "D{ c #B5B8C9", "E{ c #AEB0BD", "F{ c #B7BBC4", "G{ c #E4E9EF", "H{ c #D9E0E8", "I{ c #E3E9F5", "J{ c #9CA4BB", "K{ c #6277AC", "L{ c #3D5497", "M{ c #2A4592", "N{ c #19398E", "O{ c #143C93", "P{ c #5872AD", "Q{ c #5771AC", "R{ c #5771AE", "S{ c #5670AD", "T{ c #556EAE", "U{ c #556FAA", "V{ c #546EA7", "W{ c #5270A6", "X{ c #4E679F", "Y{ c #495F8E", "Z{ c #455880", "`{ c #4A5978", " ] c #5D6780", ".] c #5A6076", "+] c #5B6171", "@] c #E2E7ED", "#] c #EAECF8", "$] c #6F7180", "%] c #646673", "&] c #DBDCE0", "*] c #EAEDF2", "=] c #BEC2CE", "-] c #262C44", ";] c #70799A", ">] c #707CA6", ",] c #556187", "'] c #535E7C", ")] c #4B5265", "!] c #E1E3EF", "~] c #ECEAEF", "{] c #E9E6EF", "]] c #7D7E93", "^] c #1C1F3E", "/] c #25254B", "(] c #202249", "_] c #20244A", ":] c #1A1F47", "<] c #1F2350", "[] c #1C214B", "}] c #1B2141", "|] c #1C2641", "1] c #222848", "2] c #8087A1", "3] c #5A6279", "4] c #8087A3", "5] c #DFE5FD", "6] c #E5E9F5", "7] c #E1E3F0", "8] c #43435F", "9] c #9697B5", "0] c #9698AD", "a] c #84899D", "b] c #5F637E", "c] c #2B304D", "d] c #BFC5DD", "e] c #E7EEFE", "f] c #E2EBF2", "g] c #CDD7E0", "h] c #2A3048", "i] c #8A91AE", "j] c #7C829C", "k] c #44495C", "l] c #E3E6ED", "m] c #E1E5E8", "n] c #DEE3E9", "o] c #7B818F", "p] c #545B75", "q] c #646B85", "r] c #5A6374", "s] c #6E7484", "t] c #24263B", "u] c #DCDBEB", "v] c #DFDFDD", "w] c #E2E4E3", "x] c #B9B8CA", "y] c #3B3C5A", "z] c #737896", "A] c #6D7290", "B] c #737490", "C] c #2D2E43", "D] c #E5E7F4", "E] c #E5E8F1", "F] c #D8DAE6", "G] c #8D92A5", "H] c #505676", "I] c #5F6B95", "J] c #35467C", "K] c #233772", "L] c #1F3773", "M] c #243E79", "N] c #2C457D", "O] c #374E84", "P] c #3E5189", "Q] c #49598A", "R] c #606C94", "S] c #343D5A", "T] c #98A1B2", "U] c #E2ECF5", "V] c #DAE1E9", "W] c #5E5E78", "X] c #302F4F", "Y] c #49486A", "Z] c #4A4968", "`] c #444257", " ^ c #585A67", ".^ c #E2E4F0", "+^ c #E3E7F3", "@^ c #747B98", "#^ c #52638F", "$^ c #596FA8", "%^ c #364E94", "&^ c #23408E", "*^ c #163B93", "=^ c #546EAB", "-^ c #536DAA", ";^ c #4F6CA6", ">^ c #4F6CA4", ",^ c #4E68A5", "'^ c #49629B", ")^ c #43598A", "!^ c #40537B", "~^ c #435271", "{^ c #626C87", "]^ c #474D65", "^^ c #8B90A3", "/^ c #E4E8F4", "(^ c #DEE2ED", "_^ c #DAE0F0", ":^ c #363B4E", "<^ c #ACB1C7", "[^ c #5D6275", "}^ c #848893", "|^ c #E2E5EC", "1^ c #E8EAF6", "2^ c #A7ACC2", "3^ c #3B4161", "4^ c #626B92", "5^ c #5E6A94", "6^ c #515D83", "7^ c #667191", "8^ c #22283E", "9^ c #E0E4F0", "0^ c #E2E1E9", "a^ c #DFDDEA", "b^ c #D0D1ED", "c^ c #33355B", "d^ c #373960", "e^ c #464972", "f^ c #464974", "g^ c #3B406A", "h^ c #464D79", "i^ c #252C56", "j^ c #161E43", "k^ c #343C60", "l^ c #6D7697", "m^ c #707998", "n^ c #7D84A0", "o^ c #353C56", "p^ c #DBE0F4", "q^ c #DAD9E9", "r^ c #312E49", "s^ c #4A4A66", "t^ c #44465B", "u^ c #36384D", "v^ c #3E425D", "w^ c #B5BAD7", "x^ c #E8EEFF", "y^ c #D9DFF5", "z^ c #DFE6F6", "A^ c #5C6576", "B^ c #505572", "C^ c #8187A7", "D^ c #515673", "E^ c #787D90", "F^ c #E4E5E9", "G^ c #474E61", "H^ c #69708C", "I^ c #57607D", "J^ c #555D74", "K^ c #62697C", "L^ c #46485F", "M^ c #DDDCEC", "N^ c #EBEBED", "O^ c #E6E5EA", "P^ c #807E94", "Q^ c #575877", "R^ c #6B7090", "S^ c #5B607E", "T^ c #555672", "U^ c #65667B", "V^ c #E0E2EE", "W^ c #5B6179", "X^ c #5D658C", "Y^ c #4F5C90", "Z^ c #324484", "`^ c #1D347A", " / c #173277", "./ c #1B3679", "+/ c #1F3878", "@/ c #243C78", "#/ c #2B4079", "$/ c #38487B", "%/ c #545D84", "&/ c #232A44", "*/ c #D8DFEF", "=/ c #D8E1EA", "-/ c #E7EBF6", ";/ c #42425E", ">/ c #4F4B6E", ",/ c #393558", "'/ c #3F3C5B", ")/ c #87859A", "!/ c #D5D7E4", "~/ c #E2E4F1", "{/ c #E0E2FB", "]/ c #3F476C", "^/ c #6377A9", "// c #4B65A2", "(/ c #2F4B94", "_/ c #1E3D8F", ":/ c #1C3B95", "( c #30448D", ",( c #1A3481", "'( c #17327F", ")( c #16347C", "!( c #173374", "~( c #19336E", "{( c #1E346D", "]( c #2A3C6E", "^( c #454E75", "/( c #212643", "(( c #D8DFF1", "_( c #DDE5F0", ":( c #B5B6CA", "<( c #AEAFC4", "[( c #C6C7DC", "}( c #DFE0F4", "|( c #E3E7F2", "1( c #DBE1EF", "2( c #D8DEF4", "3( c #D3D7FA", "4( c #1D2855", "5( c #3C599B", "6( c #284893", "7( c #1C3C91", "8( c #193C98", "9( c #4E67A7", "0( c #4B67A6", "a( c #4A69A2", "b( c #4967A3", "c( c #40599B", "d( c #3A5187", "e( c #384B76", "f( c #435174", "g( c #4D5675", "h( c #2D3252", "i( c #E8ECFF", "j( c #DDE4F7", "k( c #99A0BC", "l( c #3E4965", "m( c #75859C", "n( c #738498", "o( c #646E87", "p( c #212741", "q( c #CACAE6", "r( c #E6E6FF", "s( c #E9E9FF", "t( c #6A718B", "u( c #444F6D", "v( c #424F71", "w( c #4F5C7E", "x( c #525B7A", "y( c #2A314B", "z( c #84899C", "A( c #E3E6F5", "B( c #E5E8F7", "C( c #DCE0EB", "D( c #E1E7F3", "E( c #D8E1F0", "F( c #DBE4F3", "G( c #DEEAFA", "H( c #DFE9FF", "I( c #424C67", "J( c #535B70", "K( c #6B7284", "L( c #6E7585", "M( c #464C58", "N( c #E1E6E9", "O( c #E6E6F0", "P( c #EAEAF6", "Q( c #E4E3F1", "R( c #D9E1EE", "S( c #E9F0FF", "T( c #D7DFF6", "U( c #99A3BC", "V( c #323B58", "W( c #3D4864", "X( c #5F6A88", "Y( c #4D5878", "Z( c #5B6686", "`( c #212C4A", " _ c #CDD7F2", "._ c #DEE3F7", "+_ c #DFE4FA", "@_ c #A5ABCB", "#_ c #313E60", "$_ c #576886", "%_ c #3E516F", "&_ c #415172", "*_ c #273558", "=_ c #A0AACD", "-_ c #DDE3FF", ";_ c #D4DAF2", ">_ c #D8DEF8", ",_ c #21274B", "'_ c #5F688F", ")_ c #4E5D7E", "!_ c #212A4B", "~_ c #C1C7E7", "{_ c #DDE4FE", "]_ c #D5DDF4", "^_ c #BFC9E4", "/_ c #323E64", "(_ c #536299", "__ c #42559A", ":_ c #284191", "<_ c #193589", "[_ c #173688", "}_ c #163681", "|_ c #143376", "1_ c #15326E", "2_ c #183169", "3_ c #223766", "4_ c #48547A", "5_ c #353C59", "6_ c #606781", "7_ c #DEE6FB", "8_ c #DAE1F4", "9_ c #DFE4F8", "0_ c #DCDFF2", "a_ c #DCE2F2", "b_ c #BBC1CD", "c_ c #C5CDD8", "d_ c #D4DDFA", "e_ c #A4ABD5", "f_ c #374478", "g_ c #305196", "h_ c #244594", "i_ c #4A66A5", "j_ c #4765A1", "k_ c #4664A2", "l_ c #3B569B", "m_ c #384E87", "n_ c #364876", "o_ c #414F74", "p_ c #4A5276", "q_ c #2E3257", "r_ c #7D80A1", "s_ c #8288A0", "t_ c #4C5274", "u_ c #536082", "v_ c #536780", "w_ c #596D85", "x_ c #5E6C86", "y_ c #585F7C", "z_ c #444564", "A_ c #7F7E9E", "B_ c #7C7B9B", "C_ c #8488A5", "D_ c #7A819D", "E_ c #313D55", "F_ c #506077", "G_ c #3C4C63", "H_ c #48576E", "I_ c #56607B", "J_ c #4A4F6D", "K_ c #303352", "L_ c #6B6A8A", "M_ c #777793", "N_ c #8789A0", "O_ c #7C8197", "P_ c #7E849E", "Q_ c #7C839D", "R_ c #80889D", "S_ c #565D77", "T_ c #3B4165", "U_ c #393E64", "V_ c #5D6280", "W_ c #6C728A", "X_ c #54596F", "Y_ c #838697", "Z_ c #E4E7EC", "`_ c #8C8FA0", " : c #7F8291", ".: c #7E8492", "+: c #7F8696", "@: c #788395", "#: c #545F75", "$: c #26324C", "%: c #3B4868", "&: c #54618B", "*: c #4B5884", "=: c #3B4872", "-: c #3E4C73", ";: c #3A486F", ">: c #717DA3", ",: c #797FA3", "': c #8489AF", "): c #444F7C", "!: c #3F507B", "~: c #3B5472", "{: c #294461", "]: c #374F73", "^: c #30466F", "/: c #5F6E99", "(: c #7380AA", "_: c #7F8BB1", ":: c #657199", "<: c #2B3865", "[: c #4B5A85", "}: c #384F6E", "|: c #364E6A", "1: c #2E3E62", "2: c #7B88A8", "3: c #7281A0", "4: c #526284", "5: c #3C4F7A", "6: c #445A96", "7: c #2F4994", "8: c #224096", "9: c #163891", "0: c #163A88", "a: c #113478", "b: c #12326D", "c: c #123064", "d: c #1A305F", "e: c #28375E", "f: c #485577", "g: c #364063", "h: c #333D60", "i: c #7C84A8", "j: c #737C9D", "k: c #818AAB", "l: c #7A83A0", "m: c #6D748E", "n: c #434E64", "o: c #2C394C", "p: c #657489", "q: c #74829F", "r: c #7785AA", "s: c #3D4979", "t: c #475A92", "u: c #3E5C9C", "v: c #163997", "w: c #193D9B", "x: c #445FA4", "y: c #4462A0", "z: c #3F5CA2", "A: c #364C86", "B: c #334779", "C: c #384772", "D: c #434F77", "E: c #545D88", "F: c #414970", "G: c #434C6D", "H: c #495376", "I: c #515A85", "J: c #525F89", "K: c #425677", "L: c #3F5473", "M: c #4C5C7D", "N: c #646E92", "O: c #61668E", "P: c #4F527B", "Q: c #51547D", "R: c #474C72", "S: c #3C4669", "T: c #4E5D7A", "U: c #354660", "V: c #32465F", "W: c #3C4D69", "X: c #425172", "Y: c #5C658E", "Z: c #626791", "`: c #53557C", " < c #4C5073", ".< c #4B5378", "+< c #485276", "@< c #4B5676", "#< c #535D80", "$< c #59628D", "%< c #545B85", "&< c #595F81", "*< c #676D87", "=< c #353952", "-< c #B5B8CB", ";< c #E0E3EC", ">< c #E4E7F0", ",< c #D5DBEB", "'< c #272E41", ")< c #5F677A", "!< c #505B6F", "~< c #48546C", "{< c #465670", "]< c #4A5A7B", "^< c #5A6C90", "/< c #566792", "(< c #495B8B", "_< c #38497D", ":< c #2C3D71", "<< c #2D3F6F", "[< c #334472", "}< c #364272", "|< c #394579", "1< c #43548A", "2< c #3C5284", "3< c #2C4870", "4< c #224066", "5< c #233F6E", "6< c #2F497A", "7< c #31467B", "8< c #2F4076", "9< c #314276", "0< c #3A4B7F", "a< c #45568C", "b< c #304677", "c< c #254168", "d< c #274368", "e< c #364B7A", "f< c #2D4271", "g< c #2E436E", "h< c #364B78", "i< c #3B5182", "j< c #476098", "k< c #3A559A", "l< c #264595", "m< c #1E4099", "n< c #163B8B", "o< c #12347B", "p< c #113370", "q< c #0F2E65", "r< c #132D5E", "s< c #243762", "t< c #2C3B64", "u< c #45547F", "v< c #33406C", "w< c #44517B", "x< c #3C4A71", "y< c #3C4A6D", "z< c #465576", "A< c #526381", "B< c #687997", "C< c #455879", "D< c #3C4F77", "E< c #394E7D", "F< c #485B93", "G< c #405896", "H< c #2F5097", "I< c #143896", "J< c #4461A3", "K< c #415C9F", "L< c #405C9D", "M< c #3E5A9B", "N< c #3A5393", "O< c #344D86", "P< c #30477D", "Q< c #32487A", "R< c #394D7F", "S< c #455789", "T< c #516194", "U< c #576798", "V< c #556596", "W< c #4D5D91", "X< c #364B76", "Y< c #3B4D7B", "Z< c #465785", "`< c #536394", " [ c #5C6C9D", ".[ c #5E6EA1", "+[ c #5B6D9D", "@[ c #4F6191", "#[ c #425784", "$[ c #354A75", "%[ c #2F426D", "&[ c #344772", "*[ c #4A5887", "=[ c #53608D", "-[ c #596692", ";[ c #5E6B98", ">[ c #5E6C9B", ",[ c #5F6FA2", "'[ c #5F71A3", ")[ c #5A6C9A", "![ c #546591", "~[ c #475884", "{[ c #414F76", "][ c #4C5777", "^[ c #1D2238", "/[ c #DEDFF1", "([ c #E5E4F2", "_[ c #A0A8BB", ":[ c #435269", "<[ c #7B8BA5", "[[ c #667795", "}[ c #56688C", "|[ c #4D628D", "1[ c #475E92", "2[ c #394F89", "3[ c #304884", "4[ c #263E7C", "5[ c #1C3671", "6[ c #1A336C", "7[ c #20396F", "8[ c #2B4578", "9[ c #344D83", "0[ c #3E5490", "a[ c #3E5394", "b[ c #384F92", "c[ c #2D4686", "d[ c #223C77", "e[ c #1B3872", "f[ c #1D3A76", "g[ c #233C7C", "h[ c #304989", "i[ c #374F8F", "j[ c #3B5391", "k[ c #374F8D", "l[ c #2D4583", "m[ c #233D7A", "n[ c #1E3871", "o[ c #1B3870", "p[ c #28427D", "q[ c #2F4C88", "r[ c #385591", "s[ c #395797", "t[ c #365598", "u[ c #173B8F", "v[ c #15377F", "w[ c #123376", "x[ c #113070", "y[ c #112E68", "z[ c #182F65", "A[ c #1F3366", "B[ c #283C6E", "C[ c #334877", "D[ c #3E5080", "E[ c #435681", "F[ c #465983", "G[ c #415780", "H[ c #415882", "I[ c #435988", "J[ c #455C8E", "K[ c #445D95", "L[ c #405A95", "M[ c #385495", "N[ c #314F97", "O[ c #3E5B9F", "P[ c #3F5A9D", "Q[ c #3D5998", "R[ c #395692", "S[ c #344E89", "T[ c #304A83", "U[ c #304981", "V[ c #334C84", "W[ c #3C528B", "X[ c #435992", "Y[ c #485D96", "Z[ c #475C95", "`[ c #415590", " } c #3B5089", ".} c #34497E", "+} c #32477C", "@} c #3A4F86", "#} c #42598F", "$} c #4A6099", "%} c #476099", "&} c #405992", "*} c #39528A", "=} c #344A83", "-} c #2F467C", ";} c #2E437A", ">} c #2F4479", ",} c #374B7E", "'} c #3D4F81", ")} c #425486", "!} c #43578C", "~} c #44578F", "{} c #455A93", "]} c #455B94", "^} c #415790", "/} c #3C5186", "(} c #354870", "_} c #404E71", ":} c #404B67", "<} c #4E556F", "[} c #E4E9FF", "}} c #E7E8FC", "|} c #D9DBF2", "1} c #6C7793", "2} c #455878", "3} c #67799D", "4} c #4B618A", "5} c #394F80", "6} c #364F87", "7} c #304A87", "8} c #2C4889", "9} c #274287", "0} c #234086", "a} c #1E3B81", "b} c #19367A", "c} c #163474", "d} c #183674", "e} c #1E3C78", "f} c #23417F", "g} c #29468C", "h} c #29458E", "i} c #27438C", "j} c #213D86", "k} c #1A377D", "l} c #163379", "m} c #18357B", "n} c #1B387E", "o} c #223F85", "p} c #264389", "q} c #29468A", "r} c #274488", "s} c #203D81", "t} c #1A377B", "u} c #173478", "v} c #183579", "w} c #1B3A7D", "x} c #204186", "y} c #27488F", "z} c #284A94", "A} c #254997", "B} c #173B89", "C} c #163882", "D} c #14357C", "E} c #133177", "F} c #133072", "G} c #142D6D", "H} c #172F6B", "I} c #1C356E", "J} c #213A72", "K} c #283F75", "L} c #2A4175", "M} c #2B4274", "N} c #294278", "O} c #2A447F", "P} c #2B4786", "Q} c #2C498B", "R} c #2B498F", "S} c #26468F", "T} c #224392", "U} c #3F5DA3", "V} c #3C599D", "W} c #3B589A", "X} c #385696", "Y} c #355190", "Z} c #324F8B", "`} c #374F8B", " | c #3B538F", ".| c #3E5694", "+| c #3D5593", "@| c #3C5190", "#| c #394F8B", "$| c #354B85", "%| c #344A84", "&| c #314A83", "*| c #334B87", "=| c #3A5491", "-| c #3B5494", ";| c #375090", ">| c #354D8B", ",| c #324A86", "'| c #2E4780", ")| c #2E447E", "!| c #2E447D", "~| c #344C88", "{| c #354D89", "]| c #314985", "^| c #2A4173", "/| c #263B68", "(| c #35476F", "_| c #344265", ":| c #626D8D", "<| c #A7B0CD", "[| c #ACB1CE", "}| c #AEB4D4", "|| c #415079", "1| c #4A5F8E", "2| c #4A5E91", "3| c #273F7B", "4| c #294284", "5| c #274289", "6| c #213F88", "7| c #1F3C8A", "8| c #1F3C8C", "9| c #1D3A8A", "0| c #1B3886", "a| c #193682", "b| c #18367F", "c| c #1A3880", "d| c #1B3981", "e| c #1D3A86", "f| c #1E3B87", "g| c #1B3884", "h| c #183581", "i| c #16337F", "j| c #16347D", "k| c #1B3982", "l| c #1D3B84", "m| c #1E3C85", "n| c #17357D", "o| c #18367E", "p| c #15357E", "q| c #193982", "r| c #1D3D88", "s| c #1B3E90", "t| c #183B8D", "u| c #183988", "v| c #15317A", "w| c #153077", "x| c #153075", "y| c #163174", "z| c #193274", "A| c #193272", "B| c #1A3272", "C| c #1B3474", "D| c #193477", "E| c #1C3C87", "F| c #1A3D91", "G| c #3C5AA3", "H| c #3B59A2", "I| c #3858A1", "J| c #37589D", "K| c #39589B", "L| c #375697", "M| c #355495", "N| c #345292", "O| c #355391", "P| c #345290", "Q| c #365291", "R| c #395596", "S| c #3A5395", "T| c #395294", "U| c #364F8F", "V| c #354E8E", "W| c #324E8F", "X| c #344F92", "Y| c #365194", "Z| c #365397", "`| c #375498", " 1 c #37549A", ".1 c #355296", "+1 c #324D90", "@1 c #314D8E", "#1 c #304C8B", "$1 c #314A8A", "%1 c #324C87", "&1 c #334D8A", "*1 c #324B8B", "=1 c #304C8D", "-1 c #2C4887", ";1 c #29437E", ">1 c #263F77", ",1 c #1B3264", "'1 c #2B406F", ")1 c #364974", "!1 c #35446D", "~1 c #313F66", "{1 c #263258", "]1 c #293662", "^1 c #3E5287", "/1 c #495F9B", "(1 c #2F488A", "_1 c #29448B", ":1 c #24408A", "<1 c #254290", "[1 c #203E94", "}1 c #1D3D92", "|1 c #19398C", "11 c #1A398B", "21 c #1B3A8C", "31 c #1B3A8A", "41 c #1A3B8A", "51 c #193A89", "61 c #173887", "71 c #173885", "81 c #1A3B88", "91 c #183986", "01 c #173983", "a1 c #183885", "b1 c #193A8B", "c1 c #183B8F", "d1 c #1A3A8D", "e1 c #183787", "f1 c #193686", "g1 c #183583", "h1 c #173482", "i1 c #18347E", "j1 c #18347D", "k1 c #1A347F", "l1 c #19337E", "m1 c #1B3781", "n1 c #1A3582", "o1 c #193684", "p1 c #183789", "q1 c #1A3C95", "r1 c #3757A2", "s1 c #3658A2", "t1 c #35579F", "u1 c #36579E", "v1 c #35569B", "w1 c #345396", "x1 c #335295", "y1 c #335096", "z1 c #345195", "A1 c #345197", "B1 c #345099", "C1 c #33519A", "D1 c #325099", "E1 c #314D96", "F1 c #324F95", "G1 c #314E92", "H1 c #314E90", "I1 c #324F91", "J1 c #324F93", "K1 c #2F4C92", "L1 c #2B488C", "M1 c #274384", "N1 c #26437F", "O1 c #213B74", "P1 c #263D73", "Q1 c #354A7F", "R1 c #33497B", "S1 c #44588A", "T1 c #4F6193", "U1 c #51649C", "V1 c #445B9E", "W1 c #3C579E", "X1 c #2F4993", "Y1 c #2B4693", "Z1 c #2B4896", "`1 c #203F91", " 2 c #214196", ".2 c #1F4198", "+2 c #1F419A", "@2 c #1E409A", "#2 c #1C3E98", "$2 c #1C3C93", "%2 c #173A8E", "&2 c #173A8C", "*2 c #183B8C", "=2 c #16398B", "-2 c #183A91", ";2 c #1A3A8F", ">2 c #16398D", ",2 c #15388C", "'2 c #1A398C", ")2 c #1A388E", "!2 c #18388F", "~2 c #173992", "{2 c #163A98", "]2 c #153A95", "^2 c #36549C", "/2 c #3455A2", "(2 c #33559F", "_2 c #33549B", ":2 c #34559C", "<2 c #32539A", "[2 c #33539C", "}2 c #32529B", "|2 c #34519D", "12 c #32529F", "22 c #3150A0", "32 c #3251A1", "42 c #2E4E97", "52 c #305198", "62 c #2F5198", "72 c #305099", "82 c #324F9B", "92 c #2F4D96", "02 c #2C4891", "a2 c #28458B", "b2 c #1C377A", "c2 c #233F80", "d2 c #213B78", "e2 c #39518D", "f2 c #38508C", "g2 c #354E90", "h2 c #36529C", "i2 c #2C4997", "j2 c #264597", "k2 c #1E429A", "l2 c #1D4199", "m2 c #1D409A", "n2 c #1C3E97", "o2 c #1B3D96", "p2 c #183A93", "q2 c #163B94", "r2 c #163C91", "s2 c #173990", "t2 c #1A3993", "u2 c #143B98", "v2 c #143B96", "w2 c #3253A0", "x2 c #31539D", "y2 c #30529C", "z2 c #31539B", "A2 c #30519E", "B2 c #3051A0", "C2 c #2F509F", "D2 c #2F50A1", "E2 c #2E4FA0", "F2 c #3051A2", "G2 c #2E4F9E", "H2 c #2D519D", "I2 c #2C509C", "J2 c #2F4E9E", "K2 c #2C4995", "L2 c #2A4891", "M2 c #213E82", "N2 c #1E3B7D", "O2 c #2A4789", "P2 c #2F4D95", "Q2 c #264693", "R2 c #224798", "S2 c #1F4598", "T2 c #1C4295", "U2 c #1D4197", "V2 c #163E95", "W2 c #173F96", "X2 c #33509C", "Y2 c #2F519B", "Z2 c #2D4F99", "`2 c #2D4E9F", " 3 c #2D4DA0", ".3 c #2C4C9F", "+3 c #2C4D9E", "@3 c #294D9B", "#3 c #2A4E9C", "$3 c #274C9C", "%3 c #274A9B", "&3 c #2B4A9C", "*3 c #2A499B", "=3 c #2A4793", "-3 c #26428C", ";3 c #25438B", ">3 c #24428A", ",3 c #24448F", "'3 c #254592", ")3 c #214291", "!3 c #204595", "~3 c #214696", "{3 c #1A4190", "]3 c #1D4493", "^3 c #1D4394", "/3 c #1C4293", "(3 c #1C4192", "_3 c #1B4091", ":3 c #173895", "<3 c #143F8E", "[3 c #143D8F", "}3 c #2E4E99", "|3 c #284B9C", "13 c #274C9D", "23 c #284B9D", "33 c #274A9C", "43 c #2A499C", "53 c #2C4999", "63 c #294692", "73 c #274490", "83 c #234390", "93 c #234396", "03 c #1F4492", "a3 c #1E4393", "b3 c #153E8D", "c3 c #153E8E", "d3 c #173D8E", "e3 c #2D4D98", "f3 c #2B4C99", "g3 c #26499A", "h3 c #254A9B", "i3 c #26499B", "j3 c #28489B", "k3 c #29489B", "l3 c #2B479A", "m3 c #2B4898", "n3 c #2A4795", "o3 c #274794", "p3 c #254494", "q3 c #244596", "r3 c #244497", "s3 c #22449B", "t3 c #204299", "u3 c #1E4394", "v3 c #1D4292", "w3 c #2C4C99", "x3 c #2B4B98", "y3 c #2B4A9A", "z3 c #2A4999", "A3 c #294A97", "B3 c #294898", "C3 c #284996", "D3 c #254899", "E3 c #25489A", "F3 c #27479C", "G3 c #26469B", "H3 c #274698", "I3 c #274696", "J3 c #254695", "K3 c #21439C", "L3 c #1C3E95", "M3 c #2A4A97", "N3 c #29489A", "O3 c #284797", "P3 c #234698", "Q3 c #25459A", "R3 c #224297", "S3 c #1D3F98", "T3 c #193A99", "U3 c #264A98", "V3 c #254496", "W3 c #204097", "X3 c #1C4098", "Y3 c #234898", "Z3 c #254497", "`3 c #244396", " 4 c #1F4399", ".4 c #1E4497", "+4 c #214194", "@4 c #204697", "#4 c #214599", "$4 c #1F4397", "%4 c #1C4199", "&4 c #1A4297", "*4 c #1C4392", "=4 c #1A4091", "-4 c #1A4093", ";4 c #1A4095", ">4 c #174092", ",4 c #193F92", "'4 c #1F4596", ")4 c #204498", "!4 c #1E4298", "~4 c #1D4398", "{4 c #1B4196", "]4 c #1B4098", "^4 c #194196", "/4 c #1A3F8F", "(4 c #19408F", "_4 c #163F91", " . + + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", " + + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 H I 4 5 6 7 8 9 0 a b c d e f g h i j k l J K L p M r s t N v w x y z A B C D D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", " O + @ # P % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 H I 4 5 Q 7 R 9 0 a b c d e f g S i j k l J K L p M r T t N v w x y y A B C D D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", " . + + @ # P $ & * U - ; > , V ) ! ~ W ] ^ / ( _ : X [ } Y 1 H I 4 5 Q 7 R Z ` a b c .e ..+.S i @.#.$.J K L o M r T t N v w x y y A B C D D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "O O + @ %.&.*.=.& * U - -.;., V ) ! >.W ] ,./ ( '.: X [ } Y 1 H I 4 ).Q 7 R Z ` a !.c .~...+.{.i @.#.$.J K L o M q T t N v ].x y y A B C C D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "+ + @ @ %.&.*.=.& * U - -.;., V ^.! >.W /.,./ ( '.(.X _.:.Y 1 H I 4 ).Q 7 R Z ` a !.<. .~.[.+.{.}.@.#.$.|.m 1.o M q T t N v ].x y y A B C C D D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "2.%.&.&.3.3.4.5.5.* U = 6.7.8.V ^.! >.W /.,./ ( '.(.X _.:.Y 9.H I 4 ).Q 7 R Z ` a !.<. .~.[.0.{.}.@.#.$.|.m 1.o M q T t N u ].x a.y A B C C C D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "%.&.&.&.3.*.4.5.5.* U = 6.7.8.V ^.! >.W /.,./ ( '.(.X _.:.Y 9.H I 4 ).Q 7 R Z ` a !.<. .~.[.0.b.}.c.j k |.m 1.o M q T s N u ].w a.y A B C C C D E E F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "*.*.*.*.d.d.4.4.e.f.g.h.6.7.8.V ^.i.j.~ /.,.k.l.'.(.X [ :.Y 9.m.I n.).6 7 o.p.` q.!.<. .~.[.0.b.}.c.j k |.m 1.o M q T s N u ].w a.y r.A B C D D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "=.=.=.=.4.4.5.5.e.f.g.h.6.7.8.V t.i.j.~ /.,.k.l.'.(.X [ :.Y 9.m.I n.).6 7 o.p.` q.u.<. .~.[.0.b.}.c.j k |.m 1.L M q T s N u ].w a.y r.A B C D D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "5.5.5.5.& & & & v.w.x.h.6.y.z.V t.i.j.~ /.,.k.l.'.(.X _.:.Y 9.m.A.B.).Q 7 o.p.` q.u.<. .~.[.0.b.}.c.j k |.m 1.L M q T s N u ].w a.y r.A B C D D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "& & & * * * * * w.g.x.h.6.7.z.V t.i.j.~ C.,.k.l.D.(.X _.:.E.F.m.A.B.G.Q H.o.p.9 I.u.J.K.L.[.0.b.}.c.j k |.m 1.L M q T s M.u ].w a.a.r.A B C C D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "N.N.N.N.U U g.g.g.x.h.6.y.7.z.V t.i.j.~ C.] k./ D._ O._.:.E.F.P.A.B.G.Q H.7 p.9 I.u.J.K.L.[.Q.b.R.c.j k |.m 1.L S.q T.s M.u ].w a.a.r.A B C C D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "U.U.U.V.- - h.h.h.6.y.y.7.7.W.V t.i.j.>.C.] k./ D._ O._.X.E.F.P.A.B.G.Q H.7 Y.9 I.a J.K.L.e Q.Z.R.c.j k |.m 1.L S.q T.s M.u ].w a.a.r.A B C C D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "-.-.-.`.`.`.y.y.6.y.7.7.7.z. +.+t.i.j.>.C.] k./ D._ O.< X.E.F.P.++@+G.#+H.7 Y.9 I.a J.K.L.e Q.Z.R.c.j k $+J %+L S.M T.s M.u &+w a.a.r.A B B C D s.s.F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", ";.;.;.;.;.;.7.z.y.7.*+z.=+W.-+.+t.i.j.>.C.] ;+/ >+_ O.< X.} ,+1 ++@+'+)+!+~+Y.{+]+a ^+c /+e Q.(+R.c.j k $+J %+L S.M T.s M.u &+w a.a.r.A B B C C s.s.F F G G G G G G G G G G _+G G G G :+G <+<+<+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "=+=+=+=+=+=+=+8.8.8.[+8.[+8.}+}+|+1+2+3+C.] 4+5+>+6+7+8+_.9+| 9.0+A.a+b+c+d+e+f+]+u.^+c /+g+h+i+R.}.j+k+$.J l+m+S.M T.T M.N n+o+p+p+r.r.A B q+q+s.s.F F G G G G r+r+s+s+_+_+t+_+<+<+:+u+:+v+v+v+<+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "8.8.8.V V V V V }+}+w+w+w+w+w+x+|+y+2+z+/.,.4+A+>+6+B+C+_.9+| D+E+F+a+G+c+H+e+I+]+a ^+J+ .K+h+i+R.}.j+k+$.L+l+m+S.M T.T M.N n+o+M+p+r.r.A B q+q+N+s.F F G G G O+P+P+r+s+_+t+t+_+<+<+:+u+Q+u+v+v+<+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", ".+R+t.t.t.t.t.t.t.|+|+|+i.i.i.i.1+S+3+z+] ,.T+U+V+W+B+C+_.9+| D+E+F+X+b+Y+Z+`+ @.@+@b @@ .K+Q.(+R.}.j+k+$.L+l+m+S.M T.T #@N n+o+M+p+p+r.A B q+q+N+s.$@F G G G O+P+P+P+r+s+%@_+_+G G O+:+O+:+<+<+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "1+1+1+1+1+1+1+1+1+1+y+j.j.j.j.j.&@*@3+=@] ^ A+-@V+W+B+C+_.9+| D+E+;@>@,@'@)@`+Z !@+@~@{@]@^@f +.R.}.j+k+$.l m m+/@M (@T #@N n+o+M+p+p+r.A B q+q+N+s.$@F G G G O+P+_@P+P+r+s+_+_+G G G O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "j.>.>.>.>.>.>.>.>.>.>.:@<@<@<@<@[@}@C./.|@4+1@2@V+W+B+C+_.9+3@D+4@5@>@6@7@8@9@0@a@b@~@{@c@d@..+.R.}.j+k+k l m m+/@M (@T #@N n+o+e@a.p+r.A B q+q+N+s.$@F F G G O+f@g@f@f@O+O+s+s+%@%@%@s+%@%@%@%@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "W W W W W W W W h@h@h@h@i@i@i@/././.] ] j@4+1@2@>+6+7+8+_.9+3@D+4@5@>@6@7@8@R 0@a@k@~@l@m@d@n@(+S }.j+k+k l m n /@S.(@T #@N o@o+e@e@p+r.A B p@q+N+N+$@F F G G G O+f@O+O+O+O+s+s+%@%@%@%@%@%@%@%@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "] ] ] ] ] ] ] ] q@q@q@q@r@r@r@r@r@4+4+4+s@5+t@>+u@v@O.< w@x@3@D+y@5@>@6@7@!+R 0@z@k@A@l@m@d@n@B@{.h j+k+k l m K /@S.(@T #@N u C@e@e@a.y A B B C N+N+s.E F G G G D@D@<+<+<+<+_+_+t+t+E@E@%@%@s+s+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "r@,.r@,.F@F@F@F@F@F@G@F@G@G@G@G@5+T+5+5+5+1@V+W+H@B+X _.w@x@3@D+y@I@X+J@K@!+R 0@z@k@A@l@L@~.M@B@{.h j+k+k l m K o S.(@T #@N u C@e@e@a.y A B B C N+N+s.E F F G _+N@O@N@D@D@<+_+_+t+t+t+t+%@G s+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "1@A+1@A+1@1@1@1@1@-@t@-@t@V+V+V+V+2@V+V+V+>+P@P@Q@Q@O.X R@x@S@1 T@U@X+'@V@W@X@p.Y@k@A@Z@`@ #.#.#{.h +#k+k l K @#1./@(@T #@M.N N e@a.a.y z ##C C N+N+s.O+O+E F $#%#&#O@*#=#-#;#>#N@N@N@,#_+<+O+'#G G G G G F F F )#)#G G G G G G G G G G G G G G F F G G G G F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "2@2@2@2@2@2@>+>+>+>+>+>+W+W+'.W+W+W+W+W+6+6+H@H@!#O.9+~#{#x@x@]#^#/#(#J@_#:#<#Y.X@b@[#@@}#|#1#i+2#S j++##.$.J K L p 3#T #@M.u v e@e@a.a.y z A B N+4#N+E O+s.$@_+5#6#7#8#9#0#a#b#D@N@N@D@=#c#d#d#'#)#)#G G G G G G F F F F F F F )#)#)#G G G G G F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "e#e#e#e#e#e#v@v@v@v@v@v@v@B+Q@B+B+B+B+B+7+7+O.O.< X f#g#h#3@i#j#k#l#m#n#o#!+!+8 9 !@u.Z@c p#q#.#r#h s#t#u#$.m n L p v#w#T t u v e@a.a.y z z B B x#y#s.O+O+E O+)#z#A#B#N+z C#g@f@G $#,#D@D@:+u+Q+O+G G G G G G G G G G G G G G G )#)#G G G G G G G G )#)#)#)#)#)#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "D#D#D#B+7+7+7+7+7+7+7+X X X X X X C+C+8+8+8+< _.< < g#w@{#E#E#]#^#F#G#G+H#I#J#9@K#L#M#N#O#P#q#.#Q#S s#t#u#R#S#n L o T#3#T.s N v e@e@a.y z ##B C x#y#s.E O+O+E U#V#W#o@X#Y#Z#`# $.$G $#D@<+:++$+$E F F F G G G G G G G G G G G G F F F F F F F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "C+C+C+X < < < < < < < g#R@R@R@_._._._.[ [ [ w@w@g#h#{#{#{#E#i#@$#$$$%$&$*$,@=$7@-$;$>$,$'$O#)$!$(+{.~${$k+]$S#n L o v#3#T t u v &+].e@a.y z B C ^$^$4#N+s.E s.C /$($_$:$<$[$}$|$1$2$s+3$F :+Q+Q+O+G G G G G G G F F F F F F F F F F F G G G G G G G F F F F F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "4$4$_.[ [ [ 5$5$[ [ h#h#h#h#h#x@5$5$9+9+9+9+{#{#3@{#w@R@w@R@6$7$h#8$9$0$l#a$b$c$d$#+e$8 a f$g$h$Q#S s#{$u#R#S#i$L o v#w#s j$u C@w w a.y z ##C C k$^$N+s.O+O+s.l$m$n$o$p$q$r$s$t$u$v$w$x$s+)#'#c#)#)#)#)#G G G G G G G G G )#)#)#G G G G )#)#)#)#y$y$)#G G G )#)#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "z$z$z$A$A$A$Y Y E.E.E.Y Y Y Y | Y Y | | 3@3@S@S@3@3@E#x@R@B$C$D$E$F$R@]#F+^#G$H$I$I$J$K$L$b M$N$g S ~${$+#u#l S#%+L v#w#T t N u w w a.a.y y z z O$k$y#x#O+O+N+P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%)#'#E G G G G F F F $@F F F F G G G G G G G G F F F F G F F $@F G )#)#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "Y Y Y | | +%+%F.,+F.F.F.F.9.9.D+D+D+9.9.@%i##%1 9.$%%%&%_ *%=%-%-%;%>%,%'%)%!%~%{%]%^%/%(%_%:%<%Q.[%}%}%|%1%2%3%4%K o 5%T.6%#@t 7%7%8%8%8%8%9%9%0%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%.$E u%v%v%s.x#w%x%t%t%B B ##y%##C C q+O+c#E s.N+^$z%A%B%B%C%b%D%B t%D P+f@O+G _+_+G G O+r+s+s+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "9.9.9.9.9.9.9.E%F%F%F%F%k#k#k#y@G%H%k#I%J%J%I%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&1+@&#&$&%&p#{@&&*&=&-&;&>&,&'&)&!&~&{&]&^&/&(&)&_&:&<&[&}&~$|&1&2&3&4&5&6&7&8&9&0&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&5%v&w&x&y&z&v A&B&C&D&E&F&G&H&I&J&K&L&M&l+N&O&P&Q&R&S&7#T&U&V&P+W&X&Y&%@_+G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "k#k#k#0+0+0+0+0+Z&Z&Z&`&`&`&`&I@ *.**$+*@*#*$*%*&***=*-*;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*[*}*|*1*2*3*K#4*5*6*7*8*9*0*a*b*c*|./&d*e*f*g*h*i*j*k*l*m*n*o*^@p*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*L.F*G*H*I*J*K*L*M*N*O*P*Q*R*c S*T*U*V*W*X*Y*Z*`* =.=@.+=A@@=#=$=j*%=&=*===t$-=;=_+>=,='=O+P+W&)=!=E@_+G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "I@I@A.I I I 3 3 I I K%K%$*$*$*3 ~={=]=^=/=/=,@'@(=_=:=<=[=}=|=1=2=3=4=5=6=7=8=9=9=0=a=b=c=d=Q ).e=9$f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=`= -.-+-@-#-$-%-&-*-=---;->-,-'-)-!-~-{-]-^-/-(-_-:-<-[-}-|-1-2-3-t p@4-5-_+O+P+P+Y&!=E@_+G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "3 3 >@>@6-6-7-7->@X+X+'+'+'+'+G.8-9-0-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-A-B-C-D-E-F-G-H-*+I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-`- ;.;+;@;#;$;%;&;*;=;-;;;>;,;';);Z-I-!;~;{;];^;/;(;_;:;<;[;};|;1;2;w.3;4;5;6;7;8;9;0;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;G O+r+%@%@E@%@G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "G.).).5 5 #+#+#+#+)+7@7@7@7@-$-$6 7@u;c+v;w;x;m=y;z;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;`; >.>+>@>#>$>%>&>*>=>->;>>>,>'>)>!>:*~>{>2=]>^>/>(>_>:><>[>}>|>1>2>3>4>5>6>7>8>9>0>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>A>B>C>D>E>F>G>H>I>J>K>L>M>3$N>b#:+O+_+E@E@%@O+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "7@Q 7@Q -$6 -$O>O>O>O>O>!+8@)@P>7 7 d+d+Q>R>S>T>U>V>W>X>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,>,,,',),!,~,{,],^,/,(,_,:,<,[,},|,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,i>P,Q,R,S,T,U,V,W,X,Y,Z,`, '.'e,+'@'#'$'%'&'*'='b#:+<+t+t+E@%@O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "7 -'o.-'o.-'o.o.7 7 o.o.;'o.m*>'p.,''''')'!'~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'6'7'8'~%9'0'a'V,b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'A'B'C'D' &E'F'G'H'I'u,J'K'L'M'N'O'P'Q'R'S'3;T'U'V'W'X'Y')>],Z'`' ).)+)@)#)$)%)&)*)=)-);)>),)')))!)~){)])^)/)()_):).-<)t&[)G v%})})<+t+z#t+_+O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "Y.R Y.R Y.R Y.R Y.p.p.p.|)X@1)2)3)4)4)5)9 6)7)8)9)0)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)&>r)s)$)d)t)u)v)w)x)y)z)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)`)Q' !.!+!@!#!$!%!&!U)*!=!-!;!>!,!'!;>)!!!~!{!]!^!/!(!_!:!1!2!3!4!5!6!7!8!9!0!a!b!c!d!e!f!g!h!y$i!})})j!t+z#t+_+O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "L$3)L$Y@k!Y@k!Y@k!k!k!l!m!l!m!n!k!o!o!Y@` p!q!r!s!t!u!v!w!x!y!z!A!B!C!D!E!F!G!H!I!J!J!K!L!M!N!O!P!Q!R!n,n,S!T!U!V!W!X!Y!Z!`! ~.~+~V!@~#~$~%~&~*~=~-~;~>~,~'~)~!~~~{~]~^~/~(~_~:~<~[~}~J)|~1~2~3~4~5~6~L=S!7~8~9~0~a~b~c~d~e~f~y,g~h~i~j~k~l~m~{~n~o~2=p~L=q~r~s~t~u~v~w~x~G y~})})j!t+z#t+_+O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "l!l!l!l!n!n!I.n!q.q.q.q.q.a z~a A~s=B~C~+@l*D~E~F~G~u!H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~`~ {.{+{d,@{)>#{${%{&{*{={-{;{>{,{Y''{){!{~{{{]{^{/{({_{:{<{[{}{|{1{2{3{4{5{6{7{8{9{%!0{a{b{c{d{e{f{g{h{i{S!j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{-~A{B{C{D{E{F{G{H{I{J{{%K{L{M{N{F b#O{})<+t+z#t+_+O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "P{P{P{P{Q{Q{R{Q{S{S{S{S{Z@Z@T{Z@U{V{W{V{l@X{Y{Z{`{ ].]+]I~@]#]j)$]%]K~&]*]=]-];]>]#;,]'])]!]~]{]]]^]/](]_]:]<][]}]|]1]4,2]3]4]5]6]7]8]9]0]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q]r]s]t]u]v]w]x]y]z]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]P]Q]R]S]T]U]V]m>W]X]Y]Z]`] ^.^+^c{@^#^$^%^&^X&3$<+*^:+<+t+t+E@%@O+f@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "Z@U{Z@Z@=^=^=^=^-^-^<.<.<.c c c @@;^>^>^,^'^)^!^~^{^]^^^/^(^_^:^<^[^}^d,|^1^2^3^4^5^6^7^8^9^0^a^b^c^d^e^f^g^h^i^j^k^l^m^n^o^% p^7]q^r^s^t^u^v^w^x^y^z^A^B^C^D^E^m,F^l'G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^8,V^,>W^X^Y^Z^`^ /./+/@/#/$/%/&/*/=/-/D{;/>/,/'/)/!/~/T!{/]/^///(/_/:/t;)#v%:+O+_+E@E@%@O+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "c @@c c c K.K.K.K.K.g$g$(,('()(!(~({(](^(/(((_(9^$):(<([(}(F]|(1(2(3(4(Y.5(6(7(r;8('=$@O+r+%@%@E@%@G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "d d d d d 9(9(9(P#P#P#P#P#K+K+K+e 0(a(b(g c(d(e(f(g(h(i(K'j(k(l(m(n(o(p(q(r(s(g>t(u(v(w(x(y(z(A(B(6]C(D( >E(F(G(H(I(J(K(L(M('{N(O(P(Q(~//^R(S(T(U(V(W(X(Y(Z(`( _._+_@_#_$_%_&_*_=_-_;_>_,_'_)_F~!_~_{_]_^_/_(___:_<_[_}_|_1_2_3_4_5_6_7_8_8=K'9_0_a_b_c_t-d_e_f_@@g_h_2$t+5-'=N+P+P+Y&!=E@_+G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "0(i_[.[.[...............Q.Q.Q.Q.0.f j_k_}.l_m_n_o_p_q_r_s_Z)t_u_v_w_x_y_z_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_V_W_X_Y_G{Z_8,`_ :.:+:@:#:$:%:6^&:*:=:-:;:>:,:':):!:~:{:]:^:/:(:_:::<:[:}:|:1:_:2:3:4:5:6:7:8:9:'#0:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:L*##t;v:w:'=E P+W&)=!=E@_+G :+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "....f f Q.Q.0.0.0.0.+.+.+.+.Q#g x:g y:}%z:X$A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:Q:`: <,<'<)[,['[)[![~[{[][q]^[/[([Z'_[:[<[[[}[|[)^1[2[3[4[5[6[7[8[9[0[a[b[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[1&0%B E E u[0:v[w[x[y[z[A[B[C[D[E[F[F[G[H[I[J[K[L[M[N[C%k$s.G 3$3$G )#O+r+s+s+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "S S S S S S R.R.i i i i z:z:z:z:i z:O[P[Q[R[S[T[U[V[W[X[Y[Z[`[ }.}+}.}@}#}#'$}%}&}*}=}-};}>}+},}'})}!}~}{}]}^}/}C[(}_}:}<}[}}}|}1}2}3}4}5}6}7}8}9}0}a}b}c}d}e}f}g}h}i}j}k}l}m}n}o}p}q}r}s}t}u}v}w}x}y}z}A}e@4#E E O+_@B}C}D}E}F}G}H}I}J}K}L}M}M}L}N}O}P}Q}R}S}T}B u%G )#G F G )#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "~$~$U}U}j+j+j+j++#+#j j j j j #.#.#.u#V}W}X}Y}Z}S[S[`} |.|+|@|#|$|%|&|*|`}=|-|-|-|;|>|,|3['|)|!|7<.}=}$|~|{|]|N]^|/|(|_|:|<|[|}|||1|2|O]3|4|5|6|7|8|9|0|a|b|c|d|e|f|e|g|h|i|j|b|k|l|m|l|c|n|n|o|p|q|r|X#s|.$E G G O+P+t|u|C}p|)(v|w|x|y|z|A|B|A|C|D|b}d|E|X#v$F|s.G )#)#G F G )#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "t#t#k+k+k+k+k+k+k+k+#.#.#.#.#.G|H|I|l J|K|L|M|N|O|P|Y}Q|M[R|S|T|U|V|W|W|X|Y|Z|`| 1.1X|+1@1#1$17}W$%1&1*1=1=1-1;1>1,1'1)1!1~1{1]1^1/1>|(1_1:1<1P$[1t%}1W&|11121L>31415151u|616171Y#81Y#Y#91017171a1u|b1t|c1O+$@$@G G r+P+d1b1e1e1f1g1h1i|i1j1k1l1m1n1o1p1N{r+q13$G )#)#)#G F G )#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "u#]$$.$.$.$.$.$.l l |.J J J J J r1s1/&t1u1v1e*[$[$w1x1w1:$ 1 1:$y1z1A1B1C1@#n K m+@#D1!&E1F1F1G1H1I1J1F1M&K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1`1 2.2+2@2#2q1s+X&$22$F|P+c1%2%2&2&2&2_@t|t|t|t|*2&2=2|1N{N{c1-2)#G -#D@<+G O+P+P+;2N{N{>2,2=2|1b1'2'2'2)2!2~2'=,#{2]2_+G G G F G G )#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "l l l L+L+L+L+L+^2K K K K K K %+.=/2/2(2(2G&_2_2:2_2_2<2[2[2m+L C1}2|2L 12222232222222S.p o D14252627272829202a2b2c2d2M],|e2f2g2h2i2h&j2C@z I*k2l2m2S&S&n2o2q1q1$@E )#'#G O+O+O+'#'#'#O+E E O+'#q1s+p2G G )#q2D@D@D@G G s+s+Y&s+'#r2r2'#O+r+-2s2t2p2%@_+N@,#u2v23$F F F G G G )#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "m m m m m K K K K l+m+m+m+m+m+1.12w2w2x2x2y2z2z2z2z2z2x&y2y2/@A2/@A222B2C2D2D2E2E2F2D2G2G2B2M w#H2I2v#G2J2r K2L2p}q}M2N2O2r}a2P2Q2T}M.x x R2D&S2T2T2U2U2U2N+2$q1$@v%=#v%=#v%v%v%<+<+<+v%v%v%v%F r;%@%@F $@<+<+v%<+<+<+<+G _+%@G c#u+u+Q+c#E G )#q1F F v%v%V2V2W2G G F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "K K K K n n n m+|2|2|2|2|2X2X2/@S.C2A2A2Y2Y2y2y2Z2Z2Z2Z23#v#G2C2C2G2`2`2`2`2 3.3.3`2+3#@#@`2(@@3#3$3%3%3&3*3Z1=3-3;3>3>36|,3'3)3C@C@b%b%!3~3{3]3^3/3(3_3_3y#.$2$F =#=#=#D@D@q2q2D@D@D@D@q2q2D@_+t+:3'=_+v%<+*^c#<+<+<+<+_+_+E@_+u+<3[3u+c#c#F F G G <+r2r2[3u+c#)#G G G )#)#G F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "o o o o o o o /@S.S.S.S.S.S.S.S.M M M q q q }3}3q q 3#3#(@T.+3+3T T T T T T 6%6%#@#@#@s t t t ]&|313233343*353i2=36373,383C%93e@r.y y y f%f%f%03a3a3A%A%d%w%s|.$F 3$_+_+_+_+_+_+_+_+_+_+_+_+_+_+t+t+_+_+<+:+:+Q+:+:+:+<+_+_+t+_+u+b3c3u+:+:+G G G G O+O+f@d3d3Q+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "5%5%5%5%M M M M M M M M q z&z&z&r r r r r r e3e3r r w#f3T T 6%6%s s s s s s #@#@#@#@s s s s t t g3h3i3j3j3k3l3m3n3o3Q2p3q3r3s3s3t3A A A u3u3a3a3v3v3A%d%z%w%.$F|F F _+G _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+G :+:+Q+Q+Q+Q+:+:+G _+_+G Q+c3Q+Q+:+<+_+_+_+G G O+f@f@g@Q+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "w#w#w#w#T.T.T.T.T.T.T T T 6%6%T w3w3w3x3x3x3x3x3y3y3y3y3y3z3*3*3t A3A3A3z3B3B3B3z3z3z3B3C3C3C3j$D3E3F3G3G3n+H3I3I3I3l4,4d#c#c#:+:+:+:+<+<+<+<+<+<+D@D@D@D@G G s+s+s+s+%@s+%@s+%@s+s+s+G G s+s+s+s+O+O+O+O+:+:+<+<+<+D@D@D@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "o+C@o+q3r3q3r393o+o+o+o+r3r3r3e@E&'4)4S2)4)4)4$4$4$4$4$4r.r.r.r.!4~4!4!4p@p@B B q;B p@p@U2U2{44#B B p@U2X3]4]4^4;4-4=4_3(3z%C z%/4(4C&C&,4,4a#a#c#c#c#c#c#_4d#d#c#c#:+:+:+:+<+<+<+<+<+<+D@D@D@D@G G s+s+%@%@%@%@%@%@%@%@s+s+G G r+r+r+r+O+f@O+f@:+:+:+:+<+<+D@D@G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "p+a.M+e@p+a.p+p+r.r.r.r.r.r.r.r.r.$4t3 4t3t3t3t3.2.2.2.2.2.2.2.2U2U2U2U2U2U2U2U2p@4#4#4#4#4#4#4#N+N+N+N+N+N+N+;4N+N+y#y#y#y#N+y#s.s.s.s.s.s.$@$@F F F F F c#E E G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G O+G O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "r.r.r.r.r.r.r.A A A A A A A A A p@p@p@p@p@p@p@p@p@p@p@p@p@p@q+q+4#4#4#4#4#4#4#4#N+N+N+N+N+N+N+N+s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.F F F F F F F F F F F F F F F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "B A A A A B B B B B B C C C C C L3L3L3L3L3L3L3L3q+q+L3L3L3L3L3L3s.s.s.s.s.s.s.s.s.s.s.s.s.s.E E E E E E E E E E E E E E E E E E F F F F F F F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "C C B B B C C C C C C C D D D D L3L3L3L3L3L3L3L3L3L3L32$2$2$2$2$s.s.s.s.s.s.s.s.E E E E E E E E E E E E E E E E O+O+O+O+O+O+O+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "C C C C C C D D D D D D D D D D L3L3L3L3L3L3L3L32$2$2$2$2$2$2$2$E E E E E E E E E E E E E E E E O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+G G G G G G G G )#)#)#)#)#)#)#)#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "D D C C C D D D D D D D D .$.$.$U#U#U#U#U#U#U#U#2$2$2$2$U#U#U#U#E E E E E E E E E E E E E E E O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "s.N+N+N+N+s.s.s.s.s.s.s.s.s.s.s.E E E E E E E E E E E E E E E E O+O+O+O+O+O+O+O+E E E O+O+O+O+O+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "s.s.s.s.s.s.E E s.s.s.E E E E E E E E E E E E E E E O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+'#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "E E E E E E E E E E E E E E E E G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "E E E E E E E E E E E E E E E E G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "G G G G G G G G )#)#)#)#)#)#)#)#G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ", "3$3$3$3$3$3$3$3$_+_+_+_+_+_+_+_+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/splash/start_kephra.jpg0000644000175000017500000000511211573645305026047 0ustar rizlarizlaJFIFHHC     C   PY" 2!1"Q2AaBq#b3C. 1!"QAq#2a ?~wׇb -J Ս+&Q̐?.;9L#P~i&dv* n{o(6aܯ+d[F*OTj٦wXn TʔD[~Rr?v[oԨv[c Hi T;-Ei,Mb3yܞv:+KXܬ9[#_Ϩ(Ul [.wN9~RvW-&H+ v;˄"d)!ڲ:8](o ;6'}Q|9ieǓqIޙ-_څ^#?uhLor(>vgʇf??Aݙnrq&vN>xM2+YYZ^&}7[|3 ¾#_vN:A,y{!s6 3X~]IoZE)wb?s9К)3]8l^ȚCo+.WΫY3Z+4UYFq4 s=ܭ3M%m .ڂLF_y2FFK2@yKyÿ0:r<ВKUsX$/국=# sHoV&Ǐ6e)hE /Y͎p~ZyC!,۔HV8u'u`%VZȌ?2_!HO+Ĝx GQ+9>Rϊ qJ+&!Z:l7]p!p,j[ZݖB:=Zt],Hkz`t'gnXugi|kO !l\nWZn [a6A۸̎.Ǽ@vc Obf@$2ݬ,DX Kh--w>.Ϥ\LY |Uk o0DbsIipye89r{Ib"~ѸRm'N ,Kpb@$4k̶/3Ծ,15g:k W8\e/iV FݻO|Љ.dXޘ]wR|ђVukIJBޘovAna?^b{ŶY+ƺI$/ܰ>? t 5a `zrXٿnǿ+nw?FHŒ&׳So~:Rt<.% L8B\H`걽*џzfh_+p̫J`5PcpǟRg1 gK2ݾ2sWZ ybY(oeLkIi5um\_75KZuty4?vcrYf=2%۾;KՃV|n0|۝vpZ'̓h:{eĿl$B_[3o:C:FֶՒԑX>}n}n[=;*~o/-1>#ia}kq" h0wn=-*k+v]ƀZ*󧖾O_".b" """ """ """ """ """ ""rG[93ʎ~I}lbI[Q8 W)+Ho~U&kշ󲹠ēs8K?ʈO͑?QA*<ر׭kG[Zw2rI=g8%,=&s>W~_m= saخ -W]u{QM4"oJf_ Xr=\QrgV6r^cS/\I;DRD@DDD@DDD@DDD@DDD@DDD@DDDAlLcnWVvr3uatmw}׆ShU)}(kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/app/0000755000175000017500000000000011633700043022131 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/icon/app/wxpl.ico0000644000175000017500000000206611573645305023637 0ustar rizlarizla(& N( ( @kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/0000755000175000017500000000000011633700043022144 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/0000755000175000017500000000000011633700043023243 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-tip.xpm0000644000175000017500000000106511573645305025531 0ustar rizlarizla/* XPM */ static char * tip_xpm[] = { "16 16 11 1", " c None", ". c #B28500", "+ c #4C3900", "@ c #3B455E", "# c #E5AC00", "$ c #FFEBB2", "% c #9F9FA2", "& c #EAB924", "* c #F2CC59", "= c #FADE8E", "- c #000000", " ", " . ++++ .", " . @+####+@ . ", " +#$$###+% ", " +&$&&&&&&+ ", ".. +********+ ..", " +========+ ", " +$$$$$$$$+ ", " . +$$$$$$-%. ", " . %+$$$$-% . ", " %----% ", " %%@ ", " ---@ ", " %%%@ ", " @--@ ", " @@ "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-save.xpm0000644000175000017500000000670611573645305025671 0ustar rizlarizla/* XPM */ static const char *file_save_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 177 2", "R c #748BFF", "!. c #044182", "^ c #FCFEFD", "#. c #6275FF", "H. c #DCE9F1", "c. c #024480", "a c #FCFBFF", "B c #E1EAF1", "2. c #5363F6", "I. c #5962B1", "g. c #E1EAF3", "] c #6579FF", "i. c #373FEA", "/ c #FFFFFB", "I c #465CA5", "N. c #FFFFFD", "(. c #023E84", "/. c #004483", "c c #FFFFFF", "i c #FAFBFF", "$. c #00417B", "T c #00417D", "a. c #4F51A8", "^. c #004181", "J. c #FFFCFF", "R. c #8787A3", "= c #004185", "k. c #F3F7F8", "D c #FDFFFC", "_. c #B7B8BD", "p c #FDFFFE", "X. c #434FB5", "f c #FDFCF8", "h. c #F8F8FA", "6. c #4C41A9", "l. c #4349A7", "V. c #FBFFF9", "< c #E2EBF4", "7. c #4A44A8", "K c #505BB4", "N c #505BB5", "v. c #034287", "' c #01427A", "~. c #01427C", "} c #3D55AB", "P c #F9FFF9", "v c #4450A4", "r c #504F9D", " . c #4343B1", "Y c #014282", "Z c #FEFDF9", "3. c #064080", ".. c #494EA9", "9. c #554DA3", "b c #96BFFD", "d c #FEFDFF", "t. c #434FF1", "3 c #E3ECF1", "r. c #444DB6", "[ c #4E52B3", "G. c #424DA7", "K. c #FCFDF7", "). c #04407E", "2 c #DCEBF2", "e. c #534DA3", "& c #02437D", "f. c #E8EAF9", "u c #FCFAFD", "y. c #4650F0", "*. c #5362F3", ":. c #5362F9", "n. c #2A2FEB", ". c #00437E", "A c #FFFEFC", "9 c #A9D6FD", "b. c #282FE0", "o. c #454BA9", "G c #8AAEFC", "o c #004384", "<. c #5162F6", "+ c #00407D", "S. c #00407E", "! c #FFFBFA", ">. c #5162F8", "0 c #004080", "Y. c #1920E0", "E. c #05417F", "B. c #FDFEF9", "l c #9CBEFE", "> c #4548B3", "F. c #1E21E2", "~ c #FDFBFC", ") c #414EAA", "% c #03417C", "{ c #4348AC", "t c #E7EEF4", "| c #5642A3", "u. c #01447B", "8 c #4345AC", "q c #BAB8BD", ": c #AAD7FF", "1. c #4B65F0", "@. c #3F4B9D", "s. c #E2E4F3", "@ c #01417E", ", c #E5EEF5", "# c #01417F", "7 c #E0E7ED", "g c #444C9F", "Z. c #292DE4", "%. c #5260F5", "1 c #E0E7F1", "Q c #FEFFF9", "U c #7CA0FF", "F c #3F48A5", "5. c #4351F0", "C c #FEFFFF", "W c #E5E8F1", "J c #839BFF", "z. c #363CEA", "L. c #FEFCFD", "X c #04427F", "V c #FCFCFE", "8. c #4750B5", "A. c #2A31E4", "m c #024280", "+. c #534CAB", "-. c #5361F6", "L c #E1E8F2", "Q. c #00457E", "n c #00427C", "w c #00427E", "H c #00427F", "s c #FFFDFE", "j. c #F5F5FD", "E c #4F55B5", ",. c #5161F4", "T. c #003F7C", "x c #DFE8F1", "0. c #2F3D9E", "O c #003F7D", "$ c #003F7F", "4. c #4252ED", "- c #003F82", " c None", "d. c #DFE5F1", "z c #5453B0", "( c #FFF7FA", "w. c #434DAF", "_ c #6E8CFE", "; c #054084", "D. c #1E20E4", "W. c #034380", "k c #034381", ";. c #4D64F0", "h c #A2CEFF", "6 c #E2E9F1", "S c #FBFDFA", "p. c #333DED", "C. c #3D539F", "5 c #E7EAF3", "` c #01437D", "* c #01437F", "q. c #414DB9", "4 c #E0E9EE", "O. c #4147A9", "&. c #5262F5", "=. c #5262F6", "M c #8BAEFF", "j c #064481", "e c #A0CBFF", "y c #FEFEFC", "P. c #FEFEFE", "m. c #5244A3", "U. c #1F1EDB", "x. c #3441E8", "M. c #DEE6F3", /* pixels */ " ", ". X o O + @ # $ % & + * = * - ", "; : > , < 1 2 3 4 5 6 7 8 9 0 q ", "w e r t y u i p a s d f g h j q ", "k l z x c c c c c c c s v b n q ", "m M N B p V C Z A S c D F G H q ", "# J K L p P c c c c c D I U Y q ", "T R E W Q ! S ~ ^ / ( Z ) _ ` q ", "' ] [ { } | ...X.o.O.+.@.#.H q ", "$.%.&.*.=.-.;.:.>.>.,.<.1.2.H q ", "3.4.5.6.7.8.9.0.q.w.e.r.t.y.# q ", "u.i.p.a.s.d.f.g.h.j.k.l.z.x.c.q ", "v.b.n.m.M.N.B.V.y N.y C.Z.A.S.q ", "# D.F.G.H.A J.K.L.P.c I.U.Y.T.q ", "R.@ E.@ W.0 Q.!.~.m T.^./.(.)._.", " q q q q q q q q q q q q q q " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark8.xpm0000644000175000017500000000331611573645305025705 0ustar rizlarizla/* XPM */ static const char *bookmark8_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 87 1", "z c #DEDDD8", "V c #DEDDD9", "' c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "x c #58606D", "d c #E1DED9", "e c #FFFFFF", "W c #5D616D", "B c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "L c #DFDEDC", "E c #5B616D", "Q c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "y c #605F71", "G c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "Y c #DEDFDA", "f c #5A626D", "a c #A2A0A5", "v c #FCFDFF", "X c #A0A0A0", ") c #A0A0A2", "T c #5F6072", ": c #E1E0DE", "l c #FFFEFA", "N c #FFFEFC", "i c #E1DDDA", "D c #FFFEFF", "9 c #5D606F", "t c #FDFEF9", "$ c #A3A1A2", "_ c #9E9DA2", "P c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "H c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "J c #9FA1A0", "u c #FEFFF7", "I c #FEFFFA", "c c #9F9EA3", "b c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", "( c #A2A2A2", "/ c #9D9EA3", "~ c #5A6470", "2 c #F2F4F3", "n c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "k c #FFFDFE", "^ c #5D5F6E", " c None", "r c #FDFDFB", "S c #FDFDFD", "F c #FDFDFF", "` c #A1A09C", "K c #A1A09E", "U c #F6F6EE", "! c #59626B", "R c #5E606C", "M c #9FA0A2", "1 c #5E606D", "m c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "s c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertyyu8ipX ", " ae8tytsyedfg ", " he8jkyylezxc ", " .vbwytny3;fm ", " MNettyyBkVC@ ", " OZAlSDFktGHJ ", " KLPDI8ekUYTm ", " REWWQ!~C^/( ", " oqq)_o`a' ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/go-first.xpm0000644000175000017500000000071311573645305025540 0ustar rizlarizla/* XPM */ static char * find_first_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " . ", " . .. ", " . .+. ", " . .++..... . ", " . .+++++++. . ", " . .@@@@@@@. . ", " . .@@..... . ", " . .@. ", " . .. ", " . ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/preview.xpm0000644000175000017500000000175111573645305025472 0ustar rizlarizla/* XPM */ static char * preview_xpm[] = { "16 16 38 1", " c None", ". c #3B455E", "+ c #FFFFFF", "@ c #000000", "# c #FEFFFE", "$ c #9F9FA2", "% c #F7FBF3", "& c #FDFEFC", "* c #1A1913", "= c #212121", "- c #1D1C1A", "; c #F7F7F7", "> c #FCFEFB", ", c #28282D", "' c #3E3E43", ") c #191711", "! c #FDFDFD", "~ c #35322E", "{ c #FBFBFC", "] c #232324", "^ c #454646", "/ c #020202", "( c #F4F6F7", "_ c #E9EDF2", ": c #312C21", "< c #EFEFEF", "[ c #49494A", "} c #727476", "| c #755332", "1 c #3A3B48", "2 c #42435F", "3 c #3F423D", "4 c #070000", "5 c #237DF1", "6 c #003C82", "7 c #413C36", "8 c #1A8BFF", "9 c #0F0F0F", " ", " .......... ", " .+++++++.+. ", " .+++++++.++@ ", " .+++##++...@$ ", " .+#++%#++++@$ ", " .+&++*=-;++@$ ", " .+>+,+++'++@$ ", " .+#)++!++~{@$ ", " .++]+!+++^+@$ ", " .++/++(_+:+@$ ", " .++<[+++}@|@$ ", " .++++1234564$ ", " .++++++++7867 ", " .@@@@@@@@9487 ", " $$$$$$$$$$7$ "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-edit.xpm0000644000175000017500000000146611573645305025664 0ustar rizlarizla/* XPM */ static char * edit_xpm[] = { "16 16 27 1", " c None", ". c #3B455E", "+ c #000000", "@ c #FFFFFF", "# c #00C93C", "$ c #5ECB25", "% c #FFFE9C", "& c #32660D", "* c #2A981B", "= c #FEFECC", "- c #FFC99A", "; c #FF9623", "> c #9F9FA2", ", c #9B6614", "' c #525109", ") c #EDF0F4", "! c #FEFEFE", "~ c #F0D5C5", "{ c #E5EAF0", "] c #DDE3EB", "^ c #D4DBE5", "/ c #CCD5E1", "( c #FBFBFC", "_ c #C4CFDC", ": c #BECAD9", "< c #F5F6F9", "[ c #BAC6D6", " ", " .......... ++ ", " .@@@@@@@@@+#$+ ", " .@@@@@@@@+%&*&+", " .@@@@@@@+=-;&+>", " .@@@@@@+%-;,+> ", " .@@@@@+=-;,+> ", " .@@@@+%-;,+>> ", " .@@@+=-;,+>+> ", " .@@+=';,+>)+> ", " .@@+!~++>{]+> ", " .@@+++>>]^/+> ", " .@(>>>]^/_:+> ", " .<){]^/_:[[+> ", " .+++++++++++> ", " >>>>>>>>>>>> "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-delete.xpm0000644000175000017500000000263511573645305026200 0ustar rizlarizla/* XPM */ static char * edit_delete_xpm[] = { "16 16 65 1", " c None", ". c #931519", "+ c #97141C", "@ c #961318", "# c #92131A", "$ c #911418", "% c #F97761", "& c #F67560", "* c #971515", "= c #971419", "- c #F5745F", "; c #F7755F", "> c #951218", ", c #94121A", "' c #F6715E", ") c #F8745F", "! c #921417", "~ c #950F16", "{ c #FA735D", "] c #FF5D2F", "^ c #96151A", "/ c #92151B", "( c #F5725E", "_ c #F7725F", ": c #FC602D", "< c #941318", "[ c #941619", "} c #F3755F", "| c #F87563", "1 c #F90504", "2 c #98121B", "3 c #FD602D", "4 c #F97161", "5 c #FE632D", "6 c #FF6029", "7 c #FD622A", "8 c #FF5C31", "9 c #941317", "0 c #FB0603", "a c #FD5F2F", "b c #FD0600", "c c #93141B", "d c #FF5F2D", "e c #FD6131", "f c #F8602F", "g c #980F16", "h c #FE612E", "i c #FA0502", "j c #FB0804", "k c #FE6030", "l c #951419", "m c #FD612E", "n c #FA0504", "o c #961319", "p c #951217", "q c #FA0703", "r c #FF5E30", "s c #931518", "t c #FF5F2F", "u c #FB5F2C", "v c #FF622F", "w c #951418", "x c #951315", "y c #FF5F2B", "z c #971118", " ", " ", " .+ @# ", " $%&* =-;> ", " ,%')! ~'{]^ ", " /(_:<[}|1^ ", " 23456789 ", " >:0ab! ", " cdef0g ", " ^ahijkil ", " >0mnopqri@ ", " stu0s .qviw ", " xnyl <00o ", " . c #7D4802", "r c #F1F3EE", "9 c #E0E7E0", "l. c #804C00", "G c #B4D9F3", "#. c #5EB1F7", "i c #D4DFD9", "f. c #9F9EA3", "8. c #362C2B", "[ c #B4D6F9", "J c #A3B8A5", "{ c #B9DAFB", "- c #72748D", "h. c #379EFA", "# c #FEFCFF", ", c #F2F7F3", "V c #BEC9C1", "2 c #9D9EA2", "T c #313467", "v c #31346B", ".. c #CD9908", "%. c #5AB1F8", "1. c #38A5F7", "-. c #DBCA48", "6. c #343868", "*. c #69B7F5", "w. c #A09FA4", " . c #DBC74C", "c. c #2D3768", "w c #6C7789", "2. c #36A5F7", "z. c #9E9F9A", "` c #B3DAF7", "| c #D9CA4B", "3. c #42A1F1", "$. c #5DAFF8", "U c #323568", " c None", "! c #32356C", "& c #FDFDFB", "@ c #717286", "R c #323268", ":. c #CE9706", ") c #000758", "M c #D1DDD3", "= c #A1A3A2", "F c #353664", "9. c #DCC84B", "+. c #60B0F9", "} c #1E1C65", "t. c #372D62", "7. c #A1A0A8", "^ c #CC9709", "g. c #353066", "( c #9FA0A4", "r. c #333669", "y c #E3EAE2", "K c #FEFEFE", "> c #F9F7F8", "6 c #EDF2EC", "<. c #3CA1F9", "* c #333371", "4. c #46A3E9", "d c #9DA0A5", "u. c #599DDC", "7 c #EDEFEA", /* pixels */ " . X o O ", " + @ # $ % & * = ", " - % ; : > , < 1 2 ", " . 3 4 5 6 7 8 9 0 q ", " w e r t y u i p a s d ", " f g h j k l z x c v b ", " n m M N B V C Z 3 A S ", " s D F G H J K L P I ", " U Y T R E W Q ! ~ ^ / ( ", " ) _ ` ' ] [ { } | ...X.o. ", " O.+.@.#.$.%.&.*.=.-.;.:.>.,. ", " Q <.1.2.3.4.5.6.7.8.9.0.q.w. ", " e.r.L t.y.u.i. p.a.s.d.f. ", " g.h.j. k.l.z. ", " x.c. ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/line-wrap.xpm0000644000175000017500000000241311573645305025703 0ustar rizlarizla/* XPM */ static char * line_wrap_xpm[] = { "16 16 56 1", " c None", ". c #5B6272", "+ c #5F6275", "@ c #5D5F74", "# c #596073", "$ c #596072", "% c #5D6071", "& c #5C5F70", "* c #5B6275", "= c #5B616F", "- c #5A5F72", "; c #5C6471", "> c #5A6374", ", c #5C5E75", "' c #606374", ") c #5A646E", "! c #5A6070", "~ c #5C6177", "{ c #5D5F6B", "] c #98151B", "^ c #961519", "/ c #595E7B", "( c #5B616D", "_ c #5C646F", ": c #575E71", "< c #5E6577", "[ c #585F72", "} c #5C6079", "| c #59666F", "1 c #9A1119", "2 c #901611", "3 c #5D606F", "4 c #5D636F", "5 c #5C6174", "6 c #5B6171", "7 c #5C5F6E", "8 c #931020", "9 c #981318", "0 c #9B141B", "a c #93141F", "b c #665E6D", "c c #5E6174", "d c #5C6672", "e c #5B6073", "f c #5B656E", "g c #5E5E76", "h c #991520", "i c #941318", "j c #981118", "k c #911619", "l c #8F1416", "m c #921618", "n c #961617", "o c #981211", "p c #9D141E", "q c #97141C", " ", " ", " .+@#$%&*= ", " ", " -;>,')!~{ ] ", " ^ ", " /(_:<[}.| 1 ", " 2 ", " 345[;6#7 8 ", " 9 ", " 0 a ", " bcdefg hi j ", " klmn ", " op ", " q ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark3.xpm0000644000175000017500000000333511573645305025701 0ustar rizlarizla/* XPM */ static const char *bookmark3_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 88 1", "x c #DEDDD8", "C c #DEDDD9", "] c #A29E9D", "i c #5A6070", ". c #A09E9F", "+ c #A09EA3", "c c #58606D", "f c #E1DED9", "e c #FFFFFF", "Q c #5D616D", "m c #FFFCFD", "s c #FDFFFA", "7 c #FDFFFC", "S c #FDFFFE", "; c #DFDEDA", "P c #DFDEDC", "W c #5B616D", "! c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "H c #DBDED7", "Z c #5E626E", "0 c #9F9F9D", "h c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "T c #DEDFDA", "g c #5A626D", "p c #A2A0A5", "b c #FCFDFF", "X c #A0A0A0", "_ c #A0A0A2", "R c #5F6072", ": c #E1E0DE", "z c #FFFEFA", "V c #FFFEFC", "u c #E1DDDA", "F c #FFFEFF", "9 c #5D606F", "a c #FDFEF9", "$ c #A3A1A2", "` c #9E9DA2", "I c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "J c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "K c #9FA1A0", "y c #FEFFF7", "U c #FEFFFA", "v c #9F9EA3", "n c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "k c #FCFFF8", ") c #A2A2A2", "( c #9D9EA3", "^ c #5A6470", "2 c #F2F4F3", "M c #FAFFF9", "# c #A09F9D", "A c #F5F5F5", "l c #FFFDFE", "/ c #5D5F6E", " c None", "r c #FDFDFB", "D c #FDFDFD", "G c #FDFDFF", "' c #A1A09C", "L c #A1A09E", "Y c #F6F6EE", "~ c #59626B", "E c #5E606C", "B c #9FA0A2", "1 c #5E606D", "N c #9FA0A4", "% c #9F9D9E", "j c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "d c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwerttty8uiX ", " pe8asadtefgh ", " je8klttzexcv ", " .bnwmaMt3;gN ", " BVeatttslCZ@ ", " OASzDFGlaHJK ", " LPIFU8elYTRN ", " EWQQ!~^Z/() ", " oqq_`o'p] ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark9.xpm0000644000175000017500000000333511573645305025707 0ustar rizlarizla/* XPM */ static const char *bookmark9_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 88 1", "l c #DEDDD8", "V c #DEDDD9", "] c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "z c #58606D", "d c #E1DED9", "e c #FFFFFF", "Q c #5D616D", "b c #FFFCFD", "B c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "P c #DFDEDC", "W c #5B616D", "! c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "y c #605F71", "H c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "T c #DEDFDA", "f c #5A626D", "a c #A2A0A5", "c c #FCFDFF", "X c #A0A0A0", "_ c #A0A0A2", "R c #5F6072", ": c #E1E0DE", "S c #FFFEFA", "N c #FFFEFC", "i c #E1DDDA", "F c #FFFEFF", "9 c #5D606F", "t c #FDFEF9", "$ c #A3A1A2", "` c #9E9DA2", "I c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "J c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "K c #9FA1A0", "u c #FEFFF7", "U c #FEFFFA", "x c #9F9EA3", "v c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", ") c #A2A2A2", "( c #9D9EA3", "^ c #5A6470", "2 c #F2F4F3", "n c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "k c #FFFDFE", "/ c #5D5F6E", " c None", "r c #FDFDFB", "D c #FDFDFD", "G c #FDFDFF", "' c #A1A09C", "L c #A1A09E", "Y c #F6F6EE", "~ c #59626B", "E c #5E606C", "M c #9FA0A2", "1 c #5E606D", "m c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "s c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertyyu8ipX ", " ae8tytsyedfg ", " he8jkyyyelzx ", " .cvwbtny3;fm ", " MNettyyBkVC@ ", " OZASDFGktHJK ", " LPIFU8ekYTRm ", " EWQQ!~^C/() ", " oqq_`o'a] ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/app-exit.xpm0000644000175000017500000000454311573645305025542 0ustar rizlarizla/* XPM */ static char * file_quit_xpm[] = { "16 16 103 2", " c None", ". c #3F475E", "+ c #39455D", "@ c #3B4560", "# c #3B455E", "$ c #3E4360", "% c #3D445E", "& c #3C435F", "* c #3B465C", "= c #FFFFFF", "- c #FDFFFC", "; c #FFFFFD", "> c #FEFFFD", ", c #FFFEFF", "' c #FDFFFE", ") c #000100", "! c #A09EA1", "~ c #FFF6EF", "{ c #000002", "] c #A0A0A2", "^ c #FEFEFC", "/ c #961318", "( c #FBFFFC", "_ c #FCF7F4", ": c #FCF9F2", "< c #FEFCFD", "[ c #000200", "} c #9F9DA0", "| c #951218", "1 c #921519", "2 c #3C435D", "3 c #FEFFFA", "4 c #FEFDFB", "5 c #010002", "6 c #9FA0A4", "7 c #951419", "8 c #971118", "9 c #96131B", "0 c #FF602C", "a c #FCFAFB", "b c #3A445F", "c c #FEFEFF", "d c #FEFFFF", "e c #FCFCFC", "f c #9EA09F", "g c #FD602B", "h c #FC6030", "i c #FD612E", "j c #FF602E", "k c #FD6130", "l c #FE6030", "m c #921417", "n c #FDFDFD", "o c #FCFCFA", "p c #9E9FA1", "q c #931518", "r c #FB0605", "s c #FB0506", "t c #FC0704", "u c #F90801", "v c #FD0503", "w c #FA0605", "x c #951418", "y c #FBFBFD", "z c #F9FAF5", "A c #9F9EA3", "B c #941317", "C c #FA0701", "D c #3B465A", "E c #F7F7F7", "F c #FEFEFE", "G c #FDFBFE", "H c #A09EA3", "I c #39455F", "J c #92131C", "K c #DADADC", "L c #3D4460", "M c #9F9FA1", "N c #3A455B", "O c #FAFFF9", "P c #8E151C", "Q c #CDCDCD", "R c #B4B4B4", "S c #FCFCFE", "T c #39455B", "U c #FCFDF8", "V c #FBFBFB", "W c #EEEDEB", "X c #000000", "Y c #A09FA4", "Z c #3A445D", "` c #FAFAF8", " . c #EEEBE6", ".. c #222836", "+. c #010000", "@. c #9FA0A2", "#. c #000102", "$. c #F4F3EF", "%. c #3C4B62", "&. c #010103", "*. c #9E9FA3", "=. c #A19FA2", "-. c #9F9DA2", " ", " . + @ # $ @ @ % # & * ", " # = - ; > ; > , ' * ) ! ", " + ; , = , = , @ @ ~ { ] ", " * ^ / = = ( # _ : < [ } ", " @ ; | 1 = = 2 = 3 4 5 6 ", " 7 8 / 7 9 0 8 a b c d e ) f ", " / g h i j k l m * n = o { p ", " q r s t u v w x & y d z { A ", " B B B | / C B ; D E F G ) H ", " I = J B = K L o = , { M ", " N O P , Q R # S , = ) ! ", " @ d ; Q R R T U V W X Y ", " Z d Q R R R L ` ...+.@. ", " #.#.5 +.X X { 2 $.%.X &.} ", " p M A @.*.% X A =.-.6 "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-replace.xpm0000644000175000017500000000550211573645305026345 0ustar rizlarizla/* XPM */ static char * edit_replace_xpm[] = { "16 16 131 2", " c None", ". c #030154", "+ c #996800", "@ c #9A6603", "# c #9A6306", "$ c #996801", "% c #9B6600", "& c #9A6404", "* c #727391", "= c #060155", "- c #010350", "; c #070252", "> c #9F6504", ", c #FEF8D8", "' c #FEF9E6", ") c #FFF9E3", "! c #F7FCE5", "~ c #F7F8E6", "{ c #714601", "] c #9F9EA3", "^ c #010658", "/ c #9A6600", "( c #FFFAE6", "_ c #F4DB65", ": c #F7E169", "< c #FBE263", "[ c #F6E068", "} c #6B4900", "| c #9F9F9D", "1 c #060352", "2 c #976502", "3 c #FEFADD", "4 c #F1DA7A", "5 c #F3C53B", "6 c #5E6379", "7 c #595E72", "8 c #5A6076", "9 c #585E6A", "0 c #5A646E", "a c #976701", "b c #F7FBDA", "c c #F0D154", "d c #EDC738", "e c #606176", "f c #FCFCFE", "g c #F8FDF7", "h c #FEFFFF", "i c #5C6177", "j c #575C6F", "k c #9B6306", "l c #FDF8DA", "m c #F1C63C", "n c #F1C73F", "o c #605F71", "p c #FEFEFC", "q c #FDFDFD", "r c #FDFCFA", "s c #5B6177", "t c #5D636F", "u c #606277", "v c #9E6702", "w c #F8FAE2", "x c #F0C73B", "y c #EDC83B", "z c #5D6276", "A c #FDFDFF", "B c #F1F2ED", "C c #F3F5F2", "D c #FEF9FF", "E c #FCFEF9", "F c #010254", "G c #9FA19C", "H c #9B6501", "I c #ECD762", "J c #EFD96C", "K c #ECC939", "L c #5A606C", "M c #FFFDFA", "N c #C1CFC2", "O c #C6D1C3", "P c #C4CABC", "Q c #010453", "R c #A49DA5", "S c #5E5F74", "T c #775108", "U c #785305", "V c #6F4701", "W c #566173", "X c #F9FDFC", "Y c #FFFEFC", "Z c #F8FCFF", "` c #FBFFFE", " . c #FEFCFD", ".. c #040054", "+. c #A29DA3", "@. c #9F9CA3", "#. c #A19EA5", "$. c #A0A09E", "%. c #F4F3EF", "&. c #B0C4A9", "*. c #D8CDC7", "=. c #B2C8B1", "-. c #EFF9F1", ";. c #050357", ">. c #A69CA4", ",. c #00024F", "'. c #596072", "). c #FDFFF9", "!. c #FFFEFF", "~. c #FCFFFB", "{. c #FEFEFF", "]. c #0B004F", "^. c #A39FA0", "/. c #080053", "(. c #030655", "_. c #5C6477", ":. c #00064E", "<. c #00044E", "[. c #070256", "}. c #090858", "|. c #010356", "1. c #080757", "2. c #9EA2A3", "3. c #00074F", "4. c #060553", "5. c #A19FA2", "6. c #A29E9D", "7. c #A39EA2", "8. c #9E9FA1", "9. c #A79E9F", "0. c #000152", " . ", " + @ # $ % & * = - ; ", " > , ' ) ! ~ { ] ^ - ", " / ( _ : < [ } | 1 ", " 2 3 4 5 6 7 8 9 0 ", " a b c d e f g h i j ", " k l m n o p q r s t u ", " v w x y z A B C D E F G ", " H I J K L M N O P C Q R ", " S T U V W X Y Z ` ...+. ", " @.#.$.0 %.&.*.=.-.;.>. ", " ,. '.).!.~.{.h ].^. ", " /. (. _.:.<.[.}.|.1.2. ", " 3.Q 4. 5.6.5.5.7.8.9. ", " 0. ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark0.xpm0000644000175000017500000000333511573645305025676 0ustar rizlarizla/* XPM */ static const char *bookmark0_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 88 1", "l c #DEDDD8", "V c #DEDDD9", "k c #FCFEFD", "] c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "z c #58606D", "d c #E1DED9", "e c #FFFFFF", "Q c #5D616D", "N c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "P c #DFDEDC", "W c #5B616D", "! c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "y c #605F71", "H c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "T c #DEDFDA", "f c #5A626D", "a c #A2A0A5", "c c #FCFDFF", "X c #A0A0A0", "_ c #A0A0A2", "R c #5F6072", ": c #E1E0DE", "S c #FFFEFA", "M c #FFFEFC", "i c #E1DDDA", "F c #FFFEFF", "9 c #5D606F", "t c #FDFEF9", "$ c #A3A1A2", "` c #9E9DA2", "I c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "J c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "K c #9FA1A0", "u c #FEFFF7", "U c #FEFFFA", "x c #9F9EA3", "v c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", ") c #A2A2A2", "( c #9D9EA3", "^ c #5A6470", "2 c #F2F4F3", "b c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "B c #FFFDFE", "/ c #5D5F6E", " c None", "r c #FDFDFB", "D c #FDFDFD", "G c #FDFDFF", "' c #A1A09C", "L c #A1A09E", "Y c #F6F6EE", "~ c #59626B", "E c #5E606C", "m c #9FA0A2", "1 c #5E606D", "n c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "s c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertyyu8ipX ", " ae8tytsyedfg ", " he8jytkyelzx ", " .cvwytby3;fn ", " mMettyyNBVC@ ", " OZASDFGBtHJK ", " LPIFU8eBYTRn ", " EWQQ!~^C/() ", " oqq_`o'a] ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark1.xpm0000644000175000017500000000343111573645305025674 0ustar rizlarizla/* XPM */ static const char *bookmark1_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 92 1", "m c #DEDDD8", "b c #FCFEFD", "K c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "M c #58606D", "j c #E1DED9", "e c #FFFFFF", "' c #5D616D", "C c #FFFCFD", "d c #FDFFFA", "7 c #FDFFFC", "I c #FDFFFE", "; c #DFDEDA", "! c #DFDEDC", "` c #5B616D", "] c #5B616F", "y c #5B6171", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "R c #DBDED7", "L c #5E626E", "0 c #9F9F9D", "v c #595E72", "l c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", "J c #5C6272", ", c #DEDFD9", "( c #DEDFDA", "k c #5A626D", "a c #A2A0A5", "B c #FCFDFF", "G c #5A5F72", "X c #A0A0A0", ") c #5F6072", ": c #E1E0DE", "n c #FFFEFA", "i c #E1DDDA", "Y c #FFFEFF", "9 c #5D606F", "s c #FDFEF9", "$ c #A3A1A2", "h c #9E9DA2", "~ c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "E c #5B6073", "@ c #A1A19F", "Z c #5B6074", "& c #DDDDDB", "* c #DDDDDD", "F c #FBFBFB", "W c #9FA1A0", "u c #FEFFF7", "^ c #FEFFFA", "N c #9F9EA3", "V c #FEFFFD", "w c #FEFFFF", "f c #5C6471", "4 c #FEFCFD", "x c #FCFFF8", "U c #A2A2A2", "| c #9D9EA3", "{ c #5A6470", "2 c #F2F4F3", "A c #FAFFF9", "# c #A09F9D", "P c #F5F5F5", "c c #FFFDFE", "} c #5D5F6E", " c None", "r c #FDFDFB", "T c #FDFDFF", "H c #5B6275", "Q c #A1A09E", "/ c #F6F6EE", "[ c #59626B", "_ c #5E606C", "D c #9FA0A2", "1 c #5E606D", "S c #9FA0A4", "% c #9F9D9E", "z c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "g c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwerty8u8ipX ", " ae8sdfgnejkl ", " ze8xcvbnemMN ", " .BVwCZA33;kS ", " DneFGHJdcmL@ ", " OPInrYTcsREW ", " Q!~Y^8ec/()S ", " _`''][{L}|U ", " oqqXhoQaK ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-redo.xpm0000644000175000017500000000426511573645305025670 0ustar rizlarizla/* XPM */ static const char *edit_redo_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 96 2", "Y c #A2A1A6", "' c #11550C", "n c #A2A1A9", "[ c #114F0C", "E c #58BA0F", "c c #17600F", ", c #0E6507", "l c #0C6805", "z c #189316", "y c #41772C", "% c #6AC415", "i c #136012", "& c #67DA0B", "K c #10A20F", ". c #1B9413", "X c #1B9415", "H c #A19FAA", ") c #47A519", ".. c #A6A0A4", "] c #0E560A", "/ c #2B840E", "o c #17970F", "F c #14640B", "= c #74DD04", "+ c #179412", "; c #76D70C", "W c #67C805", "X. c #A2A0AD", "A c #74DA0D", "w c #15940F", "r c #87C95F", "> c #159413", "D c #0E6D13", "U c #08560B", "j c #79D80C", "0 c #77DE0B", "8 c #6AC909", "1 c #27A110", "_ c #0F4E08", "s c #50A50A", "2 c #55A90B", "4 c #55A302", "k c #75DB0B", "3 c #53A908", "! c #A3A1AE", "q c #1B9914", "( c #2D8612", "b c #A1A1A3", "Q c #10520A", "} c #10520B", "p c #0E580D", "o. c #9FA1A0", "# c #259815", "B c #45B342", "@ c #56A402", "Z c #62CF11", "R c #3B9C17", "m c #9DA1A2", "7 c #67D011", "* c #76D90C", "6 c #69C407", "- c #74DC09", "P c #62C60B", "G c #A29FA6", ": c #1F9E13", "{ c #11530C", "v c #A29FA8", "e c #10660B", " . c #9B9EA7", "L c #69C113", "J c #0F5308", "h c #56BE0F", "V c #67C111", "f c #6CC513", "a c #0F531A", "$ c #50A406", "I c #77DA0D", " c None", "d c #67BE17", "` c #0D500B", "x c #3C7429", "^ c #12540D", "< c #16940F", "N c #0B5309", "~ c #389D11", "C c #63C415", "| c #A1A0A6", "g c #6DC608", "5 c #6FC315", "S c #105111", "9 c #78DB0F", "O c #129717", "u c #008115", "T c #0C540B", "M c #14620C", "t c #179517", /* pixels */ " ", " ", " ", " . X o O + @ ", " # $ % & * = - ; : > , ", " < 1 2 3 4 5 6 7 8 9 0 q w e ", "r t y u i p a s d f g h j k l ", "z x c v b n m M N B V C Z A S ", "D F G H J K L P I J ", "U Y Y T R E W Q ", "! ~ ^ / ( ) _ ", " ` ' ] [ { } ", " | ...X.o. ", " ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/clean-up.xpm0000644000175000017500000000123211573645305025507 0ustar rizlarizla/* XPM */ static char * clean_up_xpm[] = { "16 16 17 1", " c None", ". c #852A82", "+ c #AC2EA3", "@ c #D8A1FA", "# c #D467FF", "$ c #FFFFFF", "% c #FDFFFD", "& c #BE46EE", "* c #6A385A", "= c #FFFEFE", "- c #FEFEFF", "; c #FDFFFE", "> c #849975", ", c #E6CCF6", "' c #FBFFFB", ") c #FEFFFD", "! c #FDFEFF", " .+ ", " .@+ ", " .@+ ", " .@+ ", " .@+ ", " .@+ ++ ", " .@+ +@#+ ", " $%$$ .@++@##&*", " .@@##&* ", " ==-;% .@##&* >", " .,##&* > ", " ='- .,##&* > >", " .###&* > > ", " )%! **#&* > > ", " *** > > ", " * > > "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/replace-previous.xpm0000644000175000017500000000072111573645305027272 0ustar rizlarizla/* XPM */ static char * replace_previous_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " ", " . .. .. ", " . .+. .+. ", " . .++.....++. ", ". .+++++++++++.", ". .@@@@@@@@@@@.", " . .@@.....@@. ", " . .@. .@. ", " . .. .. ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark2.xpm0000644000175000017500000000331611573645305025677 0ustar rizlarizla/* XPM */ static const char *bookmark2_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 87 1", "x c #DEDDD8", "V c #DEDDD9", "' c #A29E9D", "i c #5A6070", ". c #A09E9F", "+ c #A09EA3", "c c #58606D", "f c #E1DED9", "e c #FFFFFF", "W c #5D616D", "s c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "L c #DFDEDC", "E c #5B616D", "Q c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "G c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "h c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "Y c #DEDFDA", "g c #5A626D", "p c #A2A0A5", "b c #FCFDFF", "X c #A0A0A0", ") c #A0A0A2", "T c #5F6072", ": c #E1E0DE", "z c #FFFEFA", "B c #FFFEFC", "u c #E1DDDA", "D c #FFFEFF", "9 c #5D606F", "a c #FDFEF9", "$ c #A3A1A2", "_ c #9E9DA2", "P c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "H c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "J c #9FA1A0", "y c #FEFFF7", "I c #FEFFFA", "v c #9F9EA3", "n c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "k c #FCFFF8", "( c #A2A2A2", "/ c #9D9EA3", "~ c #5A6470", "2 c #F2F4F3", "m c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "l c #FFFDFE", "^ c #5D5F6E", " c None", "r c #FDFDFB", "S c #FDFDFD", "F c #FDFDFF", "` c #A1A09C", "K c #A1A09E", "U c #F6F6EE", "! c #59626B", "R c #5E606C", "N c #9FA0A2", "1 c #5E606D", "M c #9FA0A4", "% c #9F9D9E", "j c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "d c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwerttty8uiX ", " pe8asadtefgh ", " je8klttzexcv ", " .bnwtam33;gM ", " NBeattttlVC@ ", " OZAzSDFlaGHJ ", " KLPDI8elUYTM ", " REWWQ!~C^/( ", " oqq)_o`p' ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-save-all.xpm0000644000175000017500000000701211573645305026426 0ustar rizlarizla/* XPM */ static const char *file_save_all_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 181 2", "_ c #7473B5", "p. c #6D6C96", "9. c #4E62F5", "C c #024481", "k. c #5B59A2", "<. c #8B8DC0", "= c #99C1FF", "j. c #595995", "[. c #A0A1A3", "&. c #393CED", "R. c #726A93", "^. c #9B9A9F", "S. c #373FEA", "N c #00447F", "c. c #A09EA3", "=. c #FFFFFD", ", c #FFFFFF", "@ c #00417B", "Q c #00417D", "7 c #6B6FAE", ">. c #828CBD", "1. c #898AC0", "' c #004183", " . c #CDCEE2", "w c #FDFFFA", "e c #7070AE", "D c #5C78FD", "& c #898DD6", "k c #A3A2AA", "d. c #494CF1", "_. c #9CA1A5", "M. c #333FED", "-. c #033F7D", "). c #A19FA0", ".. c #033F7E", "'. c #A19FA2", "^ c #FBFCFE", "O c #01427C", "u c #064386", "] c #A4A3A9", "r c #89B0FF", "< c #FEFDFB", "b. c #9F9CA3", "{ c #434FEF", "5. c #2E2CE7", "g. c #58549E", ":. c #8888BC", "J c #FCFDF5", "b c #04407C", "v c #7475B5", ": c #FCFDF7", "K. c #FCFDF8", "# c #04407E", "Y c #04407F", "! c #7A9EFE", "A c #6077F7", "0. c #6077FB", "E c #5E62A2", "s. c #02407B", "9 c #FAFDF6", "% c #00467E", "~. c #A0A0AA", "I. c #7078B6", "> c #FFFEFC", "2. c #898CBF", "X. c #6B89FF", "%. c #A3A49E", "* c #00407D", "P. c #FFFBFA", "m c #00407E", "q. c #5E74FB", "8 c #DADFE2", "E. c #05417F", "7. c #FDFEF9", ";. c #5C77F8", "x. c #054180", "i. c #9E9DA2", "S c #5C77FA", "y c #A3A1A6", "M c #03447E", "t. c #6178FA", "]. c #A39EA5", "Y. c #03417C", "n c #014782", "V. c #C9CDD8", "6 c #8DACFE", "A. c #4E5AA6", "H. c #6467B6", "d c #FBFBFB", "3 c #033E82", "O. c #F9FEF8", "j c #01417E", "t c #01417F", "F c #014181", "c c #7871B4", "B c #013E7D", "L. c #FEFFFA", "e. c #6476FE", "T. c #9F9EA6", "x c #6A72B0", "U c #9DA1A2", "/ c #FEFCFD", "6. c #6067AF", "i c #819EFC", "Z c #5B78F6", "5 c #04427D", "B. c #BECFD7", "q c #FCFFF8", "N. c #5158A6", "+ c #04427F", "; c #D9DDE0", "@. c #7474B2", "U. c #2530E4", "C. c #CACEDA", "p c #6F6DAC", "r. c #6079FA", "#. c #7489FF", "W c #595D9A", "z. c #414EF2", "H c #A4A5D3", "m. c #02427F", "~ c #A4A5D5", ". c #024282", "F. c #A29CA6", ",. c #8B8BC1", "2 c #99BFFE", "` c #7F9BFC", "f. c #5E5B94", "8. c #023F80", "!. c #004580", "(. c #A09FA4", "} c #5456A0", "/. c #A09FA7", "$. c #00427C", "+. c #F8FFF7", "a c #D5E0E6", "o c #00427E", "[ c #00427F", "J. c #FFFDFE", "f c #FFFDFF", "3. c #6377FA", "I c #054380", " c None", "W. c #003F84", "( c #FDFDFB", "K c #FDFDFD", "w. c #5C76FF", "L c #6E74B2", "Z. c #C4CED7", "Q. c #034380", "V c #8988D6", "*. c #5D68AA", "l c #034081", "n. c #A1A0A5", "l. c #5F5C9F", "X c #01437F", "a. c #014380", "y. c #5F77FD", "z c #6C89FF", "G. c #292FE5", "u. c #06447F", "`. c #9FA0A2", "- c #736CB0", "v. c #9FA0A4", "o. c #A1A6CE", "D. c #014085", "h c #7C9FFD", "| c #C5D2DB", "T c #525FF9", "4 c #9F9DA2", "1 c #716FAE", "s c #FEFEFF", "P c #90ACFF", "g c #6F75B3", "R c #6764A9", "$ c #044481", "0 c #F7FDFB", "h. c #5855A2", "4. c #9DA0A5", "G c #8EAFFE", ") c #FCFEF9", /* pixels */ " ", ". X o O + @ @ # $ % & ", "* = - ; : > , < 1 2 3 4 ", "5 6 7 8 9 0 q w e r t y ", "u i p a s , d f g h j k ", "l z x c v @ b o n m M N B * V ", "C Z A S D F G H w s J K L P I U ", "Y T R E W Q ! ~ ^ / ( ) _ ` ' ] ", "[ { } | ...X.o.< O.K +.@.#.$.%.", "X &.*.=., -.;.:.>.,.<.1.2.3.o 4.", "j 5.6.7., 8.9.0.q.w.e.r.t.y.u.i.", "p.a.@ a.s.$.d.f.g.h.j.k.l.z.x.c.", " v.b.n.c.m.M.N.B.V.C.Z.A.S.D.F.", " o G.H.J.K.L.P.I.U.Y.T.", " R.E.C * C W.. m.Q.!.~.", " ^./.(.)._.`.'.].[. " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/config-preferences.xpm0000644000175000017500000000567011573645305027561 0ustar rizlarizla/* XPM */ static char * preferences_xpm[] = { "16 16 138 2", " c None", ". c #7D4900", "+ c #7B4B01", "@ c #7C4B00", "# c #363264", "$ c #32336C", "% c #323665", "& c #814600", "* c #CB9807", "= c #7E4903", "- c #DCC949", "; c #DBC852", "> c #DCC84D", ", c #0065C9", "' c #0366CC", ") c #0066CA", "! c #824902", "~ c #C89905", "{ c #7E4B00", "] c #CE9804", "^ c #804A02", "/ c #C99A02", "( c #CA9706", "_ c #CB9801", ": c #0067CE", "< c #0164C9", "[ c #6D718A", "} c #6B718B", "| c #6D6F84", "1 c #6C728A", "2 c #7E4802", "3 c #814900", "4 c #DBC850", "5 c #7E4905", "6 c #CB9705", "7 c #7E4A01", "8 c #CC9902", "9 c #CA9605", "0 c #0066CB", "a c #0464C8", "b c #73708B", "c c #FFFEFF", "d c #FFFFFD", "e c #7E4900", "f c #DACB4C", "g c #7A4800", "h c #FFFDFE", "i c #7C4701", "j c #DEC84E", "k c #7F4901", "l c #CE9802", "m c #33302B", "n c #39312F", "o c #0164CA", "p c #0068CB", "q c #6B7189", "r c #FCFFFD", "s c #FFFFFF", "t c #FEFFFF", "u c #7A4A00", "v c #FEFFFD", "w c #FCFFFF", "x c #7F4805", "y c #D8CB4B", "z c #38302D", "A c #FFFDFF", "B c #3A475A", "C c #9B98FF", "D c #383167", "E c #303366", "F c #6D718E", "G c #FCFFFB", "H c #FBFFFF", "I c #FCFDFF", "J c #FEFEFF", "K c #FEFEFE", "L c #3B455E", "M c #9DA2A5", "N c #A0A1A5", "O c #A0A1A6", "P c #6C708B", "Q c #FFFDFC", "R c #FEFEFC", "S c #FFFFFB", "T c #FFFEFA", "U c #3A4758", "V c #A29FA8", "W c #6A7287", "X c #8BA58C", "Y c #8EA68E", "Z c #FDFFFE", "` c #8CA590", " . c #8DA38C", ".. c #8BA58A", "+. c #8BA491", "@. c #3C495A", "#. c #A1A0A6", "$. c #6C7089", "%. c #394959", "&. c #A0A0AA", "*. c #8CA48C", "=. c #8FA193", "-. c #8EA18E", ";. c #8DA48A", ">. c #8DA78E", ",. c #8DA58D", "'. c #3B4757", "). c #A09EA9", "!. c #5F6273", "~. c #FDFCFF", "{. c #3E465D", "]. c #A2A1A7", "^. c #5D5E70", "/. c #FDFDFD", "(. c #3E445A", "_. c #A2A2A2", ":. c #5E6472", "<. c #3A455B", "[. c #3E455F", "}. c #3C475D", "|. c #3A445F", "1. c #3D445E", "2. c #3F455B", "3. c #39485B", "4. c #394657", "5. c #38475C", "6. c #3D4457", "7. c #020355", "8. c #9EA1A8", "9. c #A1A0A8", "0. c #9EA2A5", "a. c #A49EA8", "b. c #9FA0A2", "c. c #A59DAA", "d. c #A0A0A8", "e. c #A2A1A6", "f. c #A1A0A5", "g. c #A39DA9", " ", " . + . . @ # $ % ", " & * = - ; > + , ' ) ", " ! ~ { ] ^ / ( _ : < ' ", "[ } | 1 2 ~ 3 4 5 6 7 8 9 0 ) a ", "b c d e f g h i j k l m n o p 0 ", "q r s t u h v w x y z A B C D E ", "F h G d H c I d J z c K L M N O ", "P Q R t S T S s v A d s U V ", "W K X Y Z X ` ...+.v J @.#. ", "$.c c S t s s K R t s K %.&. ", "[ Z *.=.d -.;.>.,. .c c '.). ", "!.J s R K K t A s s t ~.{.]. ", "^.t /.d A s Z A d h Z v (._. ", ":.<.[.}.|.1.2.3.4.5.1.6.7.8. ", " 9.0.O a.b.M c.d.e.9.f.O g. "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/find-start.xpm0000644000175000017500000000335411573645305026065 0ustar rizlarizla/* XPM */ static char * find_start_xpm[] = { "16 16 86 1", " c None", ". c #6C7487", "+ c #6D7487", "@ c #6B7187", "# c #9F9CA3", "$ c #6E7386", "% c #FFFFFF", "& c #FDFEFD", "* c #32346F", "= c #A1A3A2", "- c #6F748A", "; c #FBFCFC", "> c #F8F9F8", ", c #F2F6F3", "' c #EDF1EE", ") c #303262", "! c #9F9EA3", "~ c #6E7387", "{ c #FEFEFE", "] c #FAFBFB", "^ c #F6F8F7", "/ c #F1F4F1", "( c #EBEFEC", "_ c #E5EBE6", ": c #DFE6E0", "< c #353267", "[ c #6D7588", "} c #F4F7F4", "| c #EFF2EF", "1 c #E9EEEA", "2 c #E3EAE3", "3 c #DCE4DD", "4 c #D5DED6", "5 c #CED9D0", "6 c #333367", "7 c #9EA2A5", "8 c #6E7085", "9 c #E7EDE7", "0 c #E1E7E1", "a c #DAE2DB", "b c #D3DDD4", "c c #CCD7CD", "d c #C4D1C6", "e c #BDCCBF", "f c #34346A", "g c #A0A0A2", "h c #323264", "i c #D1DBD2", "j c #C9D5CA", "k c #C2D0C4", "l c #BBCABD", "m c #B4C5B6", "n c #ADBFAF", "o c #363169", "p c #A0A29F", "q c #B9C8BA", "r c #B1C3B4", "s c #ABBEAD", "t c #A5B9A8", "u c #333565", "v c #7B4B00", "w c #9FA0A5", "x c #9F9FA1", "y c #343468", "z c #32336B", "A c #3D445E", "B c #CC9806", "C c #7B4A00", "D c #9FA0A4", "E c #9E9FA3", "F c #333568", "G c #372F2C", "H c #DAC84C", "I c #CF9807", "J c #7D4802", "K c #9D9EA2", "L c #9FA0A2", "M c #A09EA1", "N c #DAC84A", "O c #7E4800", "P c #A09FA7", "Q c #DCCA4E", "R c #A09FA4", "S c #35322D", "T c #7E4A00", "U c #9F9F9F", " ", " .+.@ ", " #$%%%&*= ", " -%%;>,')! ", " ~{]^/(_:%< ", " [}|12345%67 ", " 890abcde%fg ", " h%ijklmn%op ", " f%qrst%uvw ", " xy%%%%zABCD ", " E<66FGHHIJ! ", " KLgMGHNBO#", " PGHQBR", " PGHSx", " PTU ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-close.xpm0000644000175000017500000000506011573645305026030 0ustar rizlarizla/* XPM */ static char * file_close_xpm[] = { "16 16 115 2", " c None", ". c #5C6272", "+ c #5C6270", "@ c #5D606F", "# c #595E71", "$ c #5D6371", "% c #5B6272", "& c #5A6470", "* c #FEFEFE", "= c #FDFFFE", "- c #FEFFFF", "; c #FFFDFE", "> c #FAFEFD", ", c #5B6074", "' c #5B616F", ") c #FFFFFF", "! c #FCFAFB", "~ c #FEFCFF", "{ c #5B6473", "] c #FFFCFD", "^ c #050452", "/ c #FFFDFF", "( c #FFFEFF", "_ c #5C6375", ": c #5C626E", "< c #5C6373", "[ c #020355", "} c #A19FA0", "| c #FEFDFB", "1 c #FCFEFB", "2 c #FDFFFC", "3 c #FFFEFC", "4 c #FFFFFD", "5 c #030456", "6 c #A19FA4", "7 c #FFFEFA", "8 c #FDFEFF", "9 c #FEFFFA", "0 c #FEFEFC", "a c #FEFCFD", "b c #FDFEF9", "c c #A1A1A3", "d c #FDFDFD", "e c #FDFCF7", "f c #931519", "g c #931217", "h c #98151B", "i c #951419", "j c #A4A09F", "k c #FEFEFF", "l c #941317", "m c #FC0704", "n c #F90504", "o c #FB0603", "p c #F90800", "q c #F80602", "r c #FC0706", "s c #921418", "t c #5B6274", "u c #FBFFFE", "v c #FEFFFD", "w c #991417", "x c #FB0605", "y c #FD0505", "z c #FF0506", "A c #F80403", "B c #951218", "C c #A0A0A2", "D c #5B636E", "E c #961519", "F c #FA0703", "G c #FDFDFB", "H c #F90703", "I c #95111C", "J c #9F9FA1", "K c #F6F4FF", "L c #F2F1F7", "M c #961318", "N c #FE0501", "O c #FB0506", "P c #FFFFFB", "Q c #FE0702", "R c #F90505", "S c #941318", "T c #5E6174", "U c #F5F5F7", "V c #EFF1F0", "W c #EAEAF2", "X c #E0E4F0", "Y c #FB0700", "Z c #FE0606", "` c #911317", " . c #A39EA2", ".. c #606271", "+. c #010453", "@. c #020556", "#. c #040653", "$. c #010252", "%. c #961617", "&. c #FB0601", "*. c #F90706", "=. c #FD0506", "-. c #FA0701", ";. c #FA0605", ">. c #931516", ",. c #A2A0A5", "'. c #9F9EA3", "). c #A19FA2", "!. c #A09E9F", "~. c #94161A", "{. c #961319", "]. c #951217", "^. c #96131B", "/. c #A6A0A4", "(. c #9FA0A4", " ", " . + @ # $ . % & . % ", " . * = * - ; > ; , * ' ", " . ; ; = ) ! ~ ) { - ] ^ ", " . = / ; = ( = ( _ : < [ } ", " . | 1 2 ) * - 3 - = 4 5 6 ", " . 7 8 9 ; 9 8 ; 0 a b 5 c ", " . ; = d e * f f g f h i j ", " . 9 b k ) l m n o p q r s ", " t 0 * u v w x / y z - A B C ", " D / ) ( = E q F u G H y I J ", " . 4 G K L M N O | P Q R S c ", " T U V W X i m 0 Y R ( Z ` . ", " ..+.@.#.$.%.&.*.=.-.;.H >.,. ", " '.,.).} !.~.{.i i ].^./. ", " ).} (.). . . "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-copy.xpm0000644000175000017500000000512111573645305025701 0ustar rizlarizla/* XPM */ static char * edit_copy_xpm[] = { "16 16 117 2", " c None", ". c #6C7288", "+ c #707289", "@ c #6D7285", "# c #6C7489", "$ c #6E7585", "% c #6D7486", "& c #6D7487", "* c #6F7186", "= c #697488", "- c #6C7487", "; c #FFFFFF", "> c #FEFFF9", ", c #FDFFFE", "' c #FEFEFE", ") c #FAFFFB", "! c #FFFFFD", "~ c #030454", "{ c #A4A0A1", "] c #6D7687", "^ c #6D7389", "/ c #6E7386", "( c #6E7387", "_ c #5B616F", ": c #A29DA1", "< c #6C7383", "[ c #FBFFFF", "} c #FCFEF9", "| c #FDFDFB", "1 c #FEFEFC", "2 c #FEFCFF", "3 c #596070", "4 c #5B6370", "5 c #FEFCFD", "6 c #FDFFFC", "7 c #FFFBFF", "8 c #FEFFFA", "9 c #5D6477", "0 c #5E6172", "a c #6A7587", "b c #FFFEFC", "c c #6E7587", "d c #FEFFFF", "e c #5B6571", "f c #5D6570", "g c #5B6275", "h c #050251", "i c #6F7488", "j c #FCFEFD", "k c #6E7588", "l c #8FA58E", "m c #8DA78E", "n c #8DA48A", "o c #FCFCFE", "p c #040150", "q c #A39EA2", "r c #6C7385", "s c #FCFEFB", "t c #FFFDFE", "u c #010455", "v c #A09EA3", "w c #FEFEFF", "x c #FFFEF9", "y c #90A892", "z c #8DA689", "A c #8FA892", "B c #8EA68C", "C c #8CA28B", "D c #8EA68E", "E c #FFFAFE", "F c #050155", "G c #A09FA4", "H c #FDFEF8", "I c #FDFFFA", "J c #FDFEF9", "K c #020554", "L c #A1A1A3", "M c #FCFDFF", "N c #EDF1F4", "O c #8EA48F", "P c #8EA78A", "Q c #8DA58D", "R c #8FA78D", "S c #040054", "T c #A39EA4", "U c #5E6474", "V c #02044F", "W c #060553", "X c #6D758A", "Y c #F1F0F6", "Z c #EFF0F4", "` c #080458", " . c #A29FA6", ".. c #A39CA3", "+. c #A0A0A0", "@. c #6C7586", "#. c #F9FDFE", "$. c #DBDFEA", "%. c #EDF0F7", "&. c #DCE3ED", "*. c #F0F1F5", "=. c #DAE1EB", "-. c #060555", ";. c #A19FA2", ">. c #5B6171", ",. c #010254", "'. c #060257", "). c #000151", "!. c #070654", "~. c #030552", "{. c #A5A1A2", "]. c #A49EA2", "^. c #A09DA4", "/. c #A09EA1", "(. c #A2A0A5", "_. c #A39FA0", ":. c #A0A2A1", " ", " . + @ # $ % & & * = ", " - ; > ; , ' ) , ! ~ { ", " ] ' ; ^ & / ( ^ % _ : ", " < [ } % ! | 1 ' 2 3 4 ", " ] 5 , & 6 7 8 ; | 9 2 0 ", " a ! b c d 1 ' ; ' e f g h ", " i j ' k 6 l m n ; ! o b p q ", " & 1 6 r 5 ; s ' d 1 t ; u v ", " % w x ^ d y z A B C D E F G ", " i , j & H I ' J d ; ' , K L ", " % M N & b O z m P Q R , S T ", " U V W X 1 ' , 6 I 8 Y Z ` . ", " ..+.@.b #.d $.%.&.*.=.-.;. ", " >.,.'.).!.~.K ~ F '.{. ", " ].^.G /.;.^.(.;._.:. "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/go-previous.xpm0000644000175000017500000000072011573645305026263 0ustar rizlarizla/* XPM */ static char * search_previous_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " ", " .. ", " .+. ", " .++....... ", " .+++++++++. ", " .@@@@@@@@@. ", " .@@....... ", " .@. ", " .. ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/goto-last-edit.xpm0000644000175000017500000000735311573645305026651 0ustar rizlarizla/* XPM */ static const char *goto-last-edit_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 195 2", "2. c #545585", "4. c #5FB4F4", "+ c #69758B", "G. c #363466", ",. c #90A88E", "f c #37322F", "k. c #90A892", "& c #6E7386", "XX c #A0A1A5", "S. c #DCE3ED", "A. c #E6EBEF", "! c #6E7387", "&. c #B5D9F9", "u. c #3F9CEA", "q c #DBC94D", "' c #B5D6F5", "R c #040353", "- c #6E7085", "s c #CBAA49", "u c #FFFFFF", ".. c #FAFBFF", ":. c #FFFCF9", "Q c #999D9E", "/. c #6C7385", "= c #6C7386", "o. c #7D4F01", "t c #FFF9F9", "L c #FDFFF9", "b c #3C2D34", "} c #323465", "7 c #FDFFFC", "1 c #717487", "x. c #46446C", "e. c #FDFFFE", "q. c #6A7686", ".X c #9E9EA6", "F c #3C3C6E", "B. c #FDFCFA", "0 c #CEA845", "] c #B6DAF4", "` c #050751", "l. c #91A993", "}. c #000352", "C. c #F8F5FC", "V. c #FBFFFC", "4 c #FBFFFF", "a c #BD8D05", "g c #A89DA3", "0. c #050452", "1. c #91A695", "; c #7B4900", "N. c #6D7484", "U c #CCA847", "% c #6D7486", ";. c #6D7487", "_ c #363032", "9 c #BB8D06", "w c #362D2E", "r. c #FEFDF9", "$ c #6B7483", "j. c #8DA993", "I c #BB8A09", "W. c #C0CAD3", ", c #4FA401", "Z. c #E8F0F2", "n. c #313562", "%. c #A1D4FF", " . c #70758B", "l c #FCFDF7", "v. c #3AA3F6", "%X c #9D9CA1", "'. c #060555", "<. c #92A798", "8 c #FCFDFF", "# c #70728B", "h. c #8BA693", "~. c #2F3569", "c c #CBAC42", "Y c #DBC847", "M. c #343666", ". c #7A4A00", "Q. c #BCCAD5", "T. c #D7DBE6", "V c #FFFEF9", "+X c #A09DA4", "2 c #FFFEFF", "n c #F8FDF6", "w. c #FFFBFC", "F. c #CBD3E0", "@ c #6C7288", "r c #FDFEF6", "8. c #5BB3F2", "y c #FDFEF8", "G c #000857", "=. c #B6DCF3", "3 c #FDFBFC", "> c #CEA742", "K. c #9C9D9F", "T c #382F28", "`. c #070057", "P. c #F6FAFD", "o c #53A302", "m c #A6A2A3", "( c #CCAA48", "z. c #E5EBE9", "J c #6D7381", "E c #B4D9F3", ">. c #8FA892", "e c #6D7383", "B c #F9FEFA", "7. c #5EB1F7", "). c #030655", "t. c #FEFFF9", "~ c #FEFFFA", "#X c #9F9EA3", " X c #9F9EA4", "$. c #B4D6F9", "#. c #B9DAFB", "H. c #379EFA", "K c #FCFFF8", "$X c #9D9EA3", "{ c #313467", "X c #12660E", "6 c #FCFCFA", "&X c #A29FA6", "5. c #5AB1F8", "[. c #060457", "x c #BE8D0C", "^. c #A0A2A1", "k c #FAFFF9", "s. c #38A5F7", "5 c #FAFFFB", "y. c #343868", "P c #7A4C00", "g. c #90A68F", "O. c #7A4C01", "3. c #69B7F5", "OX c #A09FA4", "U. c #E6E9EE", "!. c #2D3768", "a. c #36A5F7", "R. c #C9DBDD", "*. c #B3DAF7", "j c #FFFDFE", "f. c #6C7487", "oX c #9E9FA1", "L. c #6C7185", "p. c #42A1F1", "S c #D9C749", "6. c #5DAFF8", "| c #323568", "z c #FFFAFF", " c None", "{. c #020457", "Y. c #DFE2E7", "(. c #02014F", "d c #D9C447", "< c #136711", "A c #C9A847", "p c #FDFDFD", "[ c #323268", "^ c #FDFDFF", "-. c #000758", "D. c #D3DAE2", "W c #353664", "9. c #60B0F9", "H c #A1A0A5", "@. c #1E1C65", ") c #DCC84D", "b. c #372D62", "_. c #05024F", "i c #FBFAF8", "Z c #BB8E01", "E. c #C7CFDC", "J. c #353066", "M c #6D7285", "v c #DAC84A", "@X c #9FA0A5", "m. c #333669", "O c #68BF10", "C c #794A02", "I. c #EFEFEF", "+. c #34312A", "N c #FEFEFF", "D c #3B2F2F", "]. c #01054E", "/ c #794702", ": c #B98E04", "* c #6B7282", "d. c #3CA1F9", "h c #6B7284", "|. c #080355", "i. c #46A3E9", "c. c #599DDC", "X. c #FCFEF9", /* pixels */ " . X o O ", " + @ # $ % & * = - ; : > , < ", " 1 2 3 4 5 6 7 8 . 9 0 q w ", " e r t y u i p ; a s d f g ", " h j k 7 l z . x c v b n m ", " M N B V u C Z A S D F G H ", " J K L y P I U Y T R E W Q ", " ! ~ N ^ / ( ) _ ` ' ] [ { } | ", " ...^ X.o.O.+.@.#.$.%.&.*.=.-.", " ;.:.>.,.<.1.2.3.4.5.6.7.8.9.0.", " q.w.X.e.r.t.p y.u.i.p.a.s.d.` ", " f.2 g.h.j.k.l.z.x.c.v.b.n.m.M.", " N.B.V.C.Z.A.S.D.F.G.H.J.K. ", " L.P.I.U.Y.T.R.E.W.Q.!.~.^. ", " /.R (.)._.`.'.].[.{.}.|. X ", " .XXXoXOX+X@X#X$X X#X%X&X " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/goto-line.xpm0000644000175000017500000000574611573645305025716 0ustar rizlarizla/* XPM */ static const char *goto-line_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 147 2", "~ c #545585", "/ c #5FB4F4", "q. c #363466", "g. c #DEDDE2", "%. c #F2F0F1", "} c #F7F7FF", "i. c #D2DBE4", "o c #FAFEFD", "I c #B5D9F9", "i c #5A5D70", "o. c #3F9CEA", "W c #95AC9A", "B c #B5D6F5", "; c #FFFFFB", "l c #040353", "# c #FFFFFD", "5 c #343468", "+ c #FFFFFF", "a c #F5F4F9", "A c #323465", ":. c #46446C", "3 c #FDFFFE", "& c #E9E9E9", "s c #3C3C6E", "t c #F8F8F8", "4. c #FDFCFA", "x. c #020053", "< c #FDFCFF", "V c #B6DAF4", "N c #050751", "r. c #F6FBFE", "v c #AAC0AB", "] c #050452", "q c #F9FFF8", "k c #F9FCF5", "0. c #CAD8E1", "9. c #D6DAE6", "*. c #94A793", "c. c #080554", "p. c #C5D1DD", "9 c #5C626E", "m c #5C6270", "1. c #313562", "P c #A1D4FF", "c c #E5E0E7", ",. c #3AA3F6", "n. c #060553", "j c #FCFDFF", "> c #757381", "y. c #E8E7ED", ", c #646A7A", "M. c #060256", "= c #36336A", "f. c #2F3569", "Q c #95AB94", "3. c #343666", "% c #EBEBE9", "=. c #8EAA91", "w c #FFFEFC", "z. c #09034D", "0 c #FFFEFF", "1 c #FDFEF6", "` c #5BB3F2", "F c #FDFEF8", "u. c #DFE3EC", ".. c #EEEFF4", "d c #000857", "Y c #B6DCF3", "u c #FDFBFC", "y c #303668", "p c #F6F7F2", "{ c #FBFBF9", "5. c #F6F7F9", "X c #777B7E", "b. c #050356", "z c #B4D9F3", "h c #F9FEFA", "_ c #5EB1F7", "-. c #8FA590", "h. c #6D7083", "f c #FEFFFA", "L c #B4D6F9", "2 c #FEFFFF", "K c #B9DAFB", "w. c #379EFA", "r c #F2F7F1", "! c #92A995", "Z c #313467", ". c #6B7086", "8. c #DEE4F2", "$ c #EDEDEB", ": c #FCFCFA", "[ c #F2F1EF", "D c #FCFCFC", "( c #5AB1F8", "8 c #FAFFF9", "#. c #38A5F7", "M c #E9F6EC", "s. c #BEC9DB", "X. c #343868", "^ c #69B7F5", "g c #586474", "d. c #2D3768", "| c #FAF9F5", "- c #9EA2A1", "@. c #36A5F7", "U c #B3DAF7", "v. c #02044F", "t. c #E9EDEC", "+. c #42A1F1", ") c #5DAFF8", "S c #323568", " c None", "k. c #020457", "H c #FDFDFB", "R c #FDFDFD", "E c #91AA8C", "C c #323268", "m. c #00044E", "T c #000758", "l. c #050855", " . c #F6F9F2", "7 c #FBFDF8", "x c #353664", "n c #596575", "4 c #FBFDFC", ";. c #E7EAEF", "&. c #8FAD95", "' c #60B0F9", "J c #1E1C65", "6 c #A1A0A6", "6. c #E7EAF1", "<. c #372D62", "* c #ECEBF1", "7. c #E7E7F3", "e. c #353066", "2. c #333669", "@ c #FEFEFC", "e c #F4F3F1", "O c #FEFEFE", "G c #FEFEFF", "b c #6E7C7F", "$. c #3CA1F9", "a. c #C0C8D3", "O. c #46A3E9", ">. c #599DDC", "j. c #080053", /* pixels */ " ", " . . . . . . . . . . . X ", " . o O O + @ # $ % & * = - ", " . ; : > , < 1 # 2 3 4 5 6 ", " . : 7 8 9 0 q w e r t y 6 ", " . u 8 w i : ; @ p a s d 6 ", " . u f O g h f j k l z x 6 c ", " . O v b n m M # N B V C Z A S ", " . D F G H w + J K L P I U Y T ", " . R E W Q ! ~ ^ / ( ) _ ` ' ] ", " . [ { } | ...X.o.O.+.@.#.$.N ", " . %.&.*.=.=.-.;.:.>.,.<.1.2.3.", " . 4 4.5.6.7.8.9.0.q.w.e.6 ", " . r.t.y.u.i.0.p.a.s.d.f.6 ", "g.h.j.k.l.z.x.c.v.b.n.m.M.6 ", " 6 6 6 6 6 6 6 6 6 6 6 6 " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/empty.xpm0000644000175000017500000000062611573645305025147 0ustar rizlarizla/* XPM */ static char * empty_xpm[] = { "16 16 1 1", " c None", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-cut.xpm0000644000175000017500000000426711573645305025534 0ustar rizlarizla/* XPM */ static char * edit_cut_xpm[] = { "16 16 93 2", " c None", ". c #585858", "+ c #5B5D5C", "@ c #010300", "# c #595758", "$ c #FFFFFF", "% c #000002", "& c #A1A2A4", "* c #2B2F90", "= c #013298", "- c #023497", "; c #FEFEFC", "> c #020204", ", c #A09FA5", "' c #00369A", ") c #00349A", "! c #3F3D65", "~ c #423B64", "{ c #5A5A5C", "] c #010101", "^ c #A19EA7", "/ c #023298", "( c #0083D6", "_ c #585A57", ": c #000000", "< c #9F9EA3", "[ c #6767C9", "} c #6764CB", "| c #6767CB", "1 c #6765CA", "2 c #595854", "3 c #DADAD8", "4 c #8F8F8D", "5 c #828284", "6 c #7F7F81", "7 c #818181", "8 c #7F7E7A", "9 c #807E7F", "0 c #7F7F7F", "a c #808082", "b c #303366", "c c #323467", "d c #6567CE", "e c #6665CB", "f c #0181D8", "g c #D9D7D8", "h c #D9DAD5", "i c #D9D9D9", "j c #DADADA", "k c #DADADC", "l c #DBDBDD", "m c #0182D5", "n c #2D3290", "o c #02339C", "p c #585A55", "q c #595B5A", "r c #58595B", "s c #59595B", "t c #5A5A5A", "u c #595957", "v c #5A585D", "w c #A4A09F", "x c #2D3195", "y c #04349A", "z c #0483D2", "A c #003398", "B c #A0A0A2", "C c #A19FA2", "D c #A39EA2", "E c #A09E9F", "F c #A19FA4", "G c #2C318F", "H c #003599", "I c #007FD8", "J c #423E61", "K c #A19FA0", "L c #2D3091", "M c #0084D3", "N c #423B65", "O c #A29DA1", "P c #303296", "Q c #0082D6", "R c #0282D9", "S c #2E3296", "T c #6666CA", "U c #A39F9E", "V c #2C3091", "W c #6967CC", "X c #6867CD", "Y c #3B3D63", "Z c #A29E9F", "` c #3F3D64", " . c #403E63", " ", " . + @ ", " # $ % & ", " * = - # ; > , ", "' ) ! ~ ~ { $ ] ^ ", "/ ( _ $ : < ", ") ) [ } | 1 2 3 4 5 6 7 8 9 0 a ", " - b c d e f g h i j k l l 3 { ", " m n o p q r s t u t v w ", " x y z A B C D D E F F ", " G H I J K ", " L A M N O ", " P } Q R S T U ", " V W | X Y Z ", " ! ` .O ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/config-mode-perl.xpm0000644000175000017500000000101211573645305027126 0ustar rizlarizla/* XPM */ static char * mode_perl_xpm[] = { "16 16 8 1", " c None", ". c #3B455E", "+ c #000000", "@ c #98B1FF", "# c #9F9FA2", "$ c #5B85FE", "% c #FFFFFF", "& c #3C465E", " ", "..............+ ", ".@@@@@@@@@@@@@+#", ".@@@@@@@@@@@@@+#", ".$$$$$$$$$$$$$+#", ".%%%%%%%%%%%%%+#", ".%%%%%+++%%%%%+#", "&%%%%%+%%+%%%%+#", "&%%%%%+%%+%%%%+#", ".%%%%%+++%%%%%+#", ".%%%%%+%%%%%%%+#", ".%%%%%+%%%%%%%+#", ".%%%%%%%%%%%%%+#", ".++++++++++++++#", " ###############", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark7.xpm0000644000175000017500000000331611573645305025704 0ustar rizlarizla/* XPM */ static const char *bookmark7_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 87 1", "z c #DEDDD8", "V c #DEDDD9", "' c #A29E9D", "u c #5A6070", ". c #A09E9F", "+ c #A09EA3", "x c #58606D", "d c #E1DED9", "e c #FFFFFF", "W c #5D616D", "n c #FFFCFD", "a c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "L c #DFDEDC", "E c #5B616D", "Q c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "G c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "Y c #DEDFDA", "f c #5A626D", "i c #A2A0A5", "v c #FCFDFF", "X c #A0A0A0", ") c #A0A0A2", "T c #5F6072", ": c #E1E0DE", "l c #FFFEFA", "B c #FFFEFC", "y c #E1DDDA", "D c #FFFEFF", "9 c #5D606F", "p c #FDFEF9", "$ c #A3A1A2", "_ c #9E9DA2", "P c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "H c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "J c #9FA1A0", "I c #FEFFFA", "c c #9F9EA3", "b c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", "( c #A2A2A2", "/ c #9D9EA3", "~ c #5A6470", "2 c #F2F4F3", "m c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "k c #FFFDFE", "^ c #5D5F6E", " c None", "r c #FDFDFB", "S c #FDFDFD", "F c #FDFDFF", "` c #A1A09C", "K c #A1A09E", "U c #F6F6EE", "! c #59626B", "R c #5E606C", "N c #9FA0A2", "1 c #5E606D", "M c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "s c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertttt8yuX ", " ie8papstedfg ", " he8jkptlezxc ", " .vbwntm33;fM ", " NBepptpakVC@ ", " OZAlSDFkpGHJ ", " KLPDI8ekUYTM ", " REWWQ!~C^/( ", " oqq)_o`i' ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark4.xpm0000644000175000017500000000326011573645305025677 0ustar rizlarizla/* XPM */ static const char *bookmark4_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 85 1", "l c #DEDDD8", "N c #DEDDD9", "_ c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "z c #58606D", "d c #E1DED9", "e c #FFFFFF", "R c #5D616D", "m c #FDFFFA", "7 c #FDFFFC", "C c #FDFFFE", "; c #DFDEDA", "J c #DFDEDC", "T c #5B616D", "E c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "D c #DBDED7", "B c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "I c #DEDFDA", "f c #5A626D", "a c #A2A0A5", "c c #FCFDFF", "X c #A0A0A0", "/ c #A0A0A2", "U c #5F6072", ": c #E1E0DE", "k c #FFFEFA", "s c #FFFEFC", "i c #E1DDDA", "A c #FFFEFF", "9 c #5D606F", "y c #FDFEF9", "$ c #A3A1A2", "( c #9E9DA2", "K c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "F c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "G c #9FA1A0", "u c #FEFFF7", "L c #FEFFFA", "x c #9F9EA3", "v c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", "^ c #A2A2A2", "~ c #9D9EA3", "Q c #5A6470", "2 c #F2F4F3", "# c #A09F9D", "V c #F5F5F5", "M c #FFFDFE", "! c #5D5F6E", " c None", "r c #FDFDFB", "Z c #FDFDFD", "S c #FDFDFF", ") c #A1A09C", "H c #A1A09E", "P c #F6F6EE", "W c #59626B", "Y c #5E606C", "n c #9FA0A2", "1 c #5E606D", "b c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertytu8ipX ", " ae8ytytsedfg ", " he8jtytkelzx ", " .cvwtttt3;fb ", " nseyyytmMNB@ ", " OVCkZASMyDFG ", " HJKAL8eMPIUb ", " YTRREWQB!~^ ", " oqq/(o)a_ ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/marker-previous.xpm0000644000175000017500000000615411573645305027146 0ustar rizlarizla/* XPM */ static const char *marker-previous_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 155 2", "d. c #707386", "y c #FCFEFD", "b. c #A29E9F", "6. c #BECBDB", "' c #060354", "P c #FCFBFF", "Y c #43A014", "q c #115210", "Q c #115212", "o c #6E7387", "x c #A0A1A6", "2 c #FAFEFF", "m. c #A09E9F", "-. c #D2D8E8", "k. c #040353", "> c #FFFFFD", "< c #FFFFFF", "e c #02064D", ": c #FFFCF9", "C c #A09BA1", "@ c #6C7383", "d c #6C7385", "* c #6C7386", "f c #FFFCFF", "( c #46A115", "w. c #E4E8E9", "$ c #717485", "p c #FDFFFC", "+. c #020355", "9 c #FDFFFE", "f. c #020356", "} c #13660E", "N. c #9E9BA2", "a c #000654", "t. c #CED8E1", "W c #44A115", "Z c #116609", "O c #6F7487", "S c #4CAC14", "g c #FBFFFE", "0 c #11660B", "x. c #030A52", "n. c #A19FA4", "& c #6F7186", "o. c #E7E6EC", "+ c #6D7484", "c c #6D7486", "h c #78DA0B", "4 c #030454", "i. c #BBC9D6", "7 c #FEFDF8", "l c #FEFDF9", "a. c #080552", "y. c #C5D1DF", "= c #FEFDFF", "A c #48AC14", "k c #0D660A", "R c #45A216", "=. c #E0DFED", "J c #060551", ",. c #F2F5FA", "l. c #060555", "B c #FCFDFF", "p. c #B9C6D7", "~ c #040851", " . c #106708", "2. c #DCE5EE", "L c #6E7588", "M c #79DB0A", "m c #79DB0C", "u. c #BCCAD3", "T c #41A214", "; c #FFFEFA", "8 c #FFFEFC", "K c #A09DA6", "H c #FFFEFF", "I c #0E670B", "F c #49AD17", "v c #77DB0B", "G c #0F5111", "z. c #020554", "$. c #FFFBFF", "X. c #E9EEF1", ". c #6C728A", "M. c #A3A1A2", "8. c #9E9DA3", "O. c #DFE3EC", "e. c #DFE3EE", "B. c #A39EA2", "^ c #9CA0A1", "V. c #A39EA4", "{ c #FDFBFC", "@. c #A39EA5", "! c #FDFBFE", "c. c #000253", "%. c #FBFBF9", ".. c #F6F7FB", "j c #78DC08", "N c #105212", "_ c #0F650A", "6 c #FEFFF7", "] c #9F9EA3", "A. c #9F9EA4", "- c #FEFFFD", "4. c #CAD7E0", "3 c #FEFFFF", "7. c #030359", "b c #76DC0C", "0. c #F9F8FD", "E c #45A112", "# c #6B7388", ", c #FCFFF8", "g. c #010350", "h. c #06075A", "r. c #D2DCDD", "<. c #EDF0F7", "V c #060457", "u c #10660B", "&. c #10660D", "n c #79DA0F", "S. c #A09FA4", "` c #F0F1F5", "C. c #A5A0A6", "1 c #FFFDFE", "D c #49AC14", ">. c #A3A3A1", "D. c #9E9FA1", ":. c #020451", "i c #77DA0D", "% c #6C7184", "5 c #6C7185", "[ c #FFFAFF", " c None", "j. c #02014F", ";. c #CBD2E4", "w c #FDFDFB", "9. c #6F7581", "5. c #C4CED8", "| c #44A216", "r c #6A7181", "U c #44A218", "3. c #D3DAE2", "s c #A1A09C", ") c #11670E", "s. c #A1A0A8", "v. c #9FA3A4", "Z. c #9FA0A2", "z c #030552", "1. c #E5EAF0", "*. c #EAEEF1", "#. c #FEFEF6", "q. c #EFEFEF", "/ c #FEFEFC", "t c #FEFEFE", "X c #6B7282", /* pixels */ " ", " . X o O + o @ # $ % & * ", " o = - ; : > , < 1 2 3 4 ", " 5 6 7 8 9 0 q w > < 1 e ", " r t y y u i 0 p < < > a s ", " d f g 0 h j u u 0 k l z x ", " c t u v b v n m M N B V C ", " c Z A S D D A D F G H J K ", " L P I U Y T R E W Q ! ~ ^ ", " L l / 0 ( Y u ) 0 _ ` ' ] ", " c [ { 9 } | ...X.o.O.+.@. ", " c y #.$.%.I &.*.=.-.;.:.>. ", " @ < y ,.<.1.2.3.4.5.6.7.8. ", " 9.0.q.w.e.r.t.y.u.i.p.a.s. ", " d.f.g.h.j.k.l.+.z.x.c.' v. ", " b.n.m.M.N.B.V.C.Z.A.S.D. " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark6.xpm0000644000175000017500000000331611573645305025703 0ustar rizlarizla/* XPM */ static const char *bookmark6_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 87 1", "z c #DEDDD8", "V c #DEDDD9", "' c #A29E9D", "p c #5A6070", ". c #A09E9F", "+ c #A09EA3", "x c #58606D", "f c #E1DED9", "e c #FFFFFF", "W c #5D616D", "N c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "L c #DFDEDC", "E c #5B616D", "Q c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "y c #605F71", "G c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "h c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "Y c #DEDFDA", "g c #5A626D", "a c #A2A0A5", "v c #FCFDFF", "X c #A0A0A0", ") c #A0A0A2", "T c #5F6072", ": c #E1E0DE", "l c #FFFEFA", "d c #FFFEFC", "i c #E1DDDA", "D c #FFFEFF", "9 c #5D606F", "t c #FDFEF9", "$ c #A3A1A2", "_ c #9E9DA2", "P c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "H c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "J c #9FA1A0", "u c #FEFFF7", "I c #FEFFFA", "c c #9F9EA3", "b c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "k c #FCFFF8", "( c #A2A2A2", "/ c #9D9EA3", "~ c #5A6470", "2 c #F2F4F3", "n c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "B c #FFFDFE", "^ c #5D5F6E", " c None", "r c #FDFDFB", "S c #FDFDFD", "F c #FDFDFF", "` c #A1A09C", "K c #A1A09E", "U c #F6F6EE", "! c #59626B", "R c #5E606C", "M c #9FA0A2", "1 c #5E606D", "m c #9FA0A4", "% c #9F9D9E", "j c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "s c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertyyu8ipX ", " ae8tytsdefgh ", " je8kyyylezxc ", " .vbwytny3;gm ", " MdettyyNBVC@ ", " OZAlSDFBtGHJ ", " KLPDI8eBUYTm ", " REWWQ!~C^/( ", " oqq)_o`a' ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-print.xpm0000644000175000017500000000670611573645305026067 0ustar rizlarizla/* XPM */ static char * file_print_xpm[] = { "16 16 169 2", " c None", ". c #6B7285", "+ c #6C7383", "@ c #6D7286", "# c #6B7282", "$ c #6F748A", "% c #6B7284", "& c #605F6F", "* c #6F7285", "= c #FEFDFB", "- c #FDFDFF", "; c #FFFFFD", "> c #FFFCFD", ", c #FAFFF9", "' c #62616F", ") c #717286", "! c #FCFDFF", "~ c #8EA78A", "{ c #8AA78B", "] c #8CA588", "^ c #91A993", "/ c #FAFFF8", "( c #59616E", "_ c #9C9CA6", ": c #FAFCFB", "< c #FEFFFF", "[ c #FFFFFF", "} c #FEFEFE", "| c #FFFEFA", "1 c #FEFCFD", "2 c #3B4664", "3 c #9A9FA3", "4 c #6C7282", "5 c #FEFFFD", "6 c #91AA8D", "7 c #90A892", "8 c #8BA88C", "9 c #88A287", "0 c #FEFEFF", "a c #3A4559", "b c #9DA1A2", "c c #848081", "d c #6D7389", "e c #FCFBF7", "f c #FDFBFF", "g c #FCFCFA", "h c #FAFEFF", "i c #FAFFFB", "j c #FDFEF8", "k c #454449", "l c #80837C", "m c #878382", "n c #FFFEFC", "o c #5C6174", "p c #E8E7ED", "q c #E8E7E5", "r c #EAE9E5", "s c #E3E3E1", "t c #E7E6E4", "u c #E6E7E9", "v c #494345", "w c #DAD9DE", "x c #858384", "y c #817D7A", "z c #FEFDF9", "A c #575654", "B c #5D5C5A", "C c #585A57", "D c #595B5A", "E c #585954", "F c #5A5B56", "G c #5B5B53", "H c #565B57", "I c #5C5D57", "J c #5B5C57", "K c #C3C2C7", "L c #595957", "M c #717173", "N c #FCFEF9", "O c #F1EFF2", "P c #EEEEF0", "Q c #EDF1F2", "R c #EAECE9", "S c #E8E7E3", "T c #DBDBDD", "U c #D9D7DC", "V c #D5D6D1", "W c #D5D0D4", "X c #CDCDCD", "Y c #C2C3BE", "Z c #535C59", "` c #9A9FA2", " . c #727270", ".. c #FEFFF9", "+. c #F1EFF4", "@. c #F2F2F0", "#. c #EBEBEB", "$. c #D4DAD8", "%. c #D1CFD4", "&. c #D5D6D0", "*. c #D0CED1", "=. c #CED0CD", "-. c #C6C6C6", ";. c #9C9FA4", ">. c #706D74", ",. c #F2F0F3", "'. c #E8E8EA", "). c #E8EAE9", "!. c #DDDBDC", "~. c #D8D9DD", "{. c #D3D2CD", "]. c #CDD7D9", "^. c #CCCDD1", "/. c #64CB31", "(. c #029801", "_. c #C3BDBD", ":. c #9F9EA6", "<. c #72716F", "[. c #C4C6C3", "}. c #C4C4C2", "|. c #C6C4C7", "1. c #BDC3BF", "2. c #C5C3C6", "3. c #C2C2C0", "4. c #C3C3C1", "5. c #C4C0BD", "6. c #C2C3C5", "7. c #C2C1C9", "8. c #C6C8C5", "9. c #5B5E57", "0. c #716F70", "a. c #C3C4C9", "b. c #C0BFC5", "c. c #C1C3C2", "d. c #C0C0C0", "e. c #C2C3BD", "f. c #C3C2BD", "g. c #C3BFBE", "h. c #C1C7C3", "i. c #C6C0C4", "j. c #575A51", "k. c #9A9DA4", "l. c #5A5B5F", "m. c #5A5A58", "n. c #5C5F58", "o. c #5C5954", "p. c #58585A", "q. c #5B5B5B", "r. c #5C5859", "s. c #585657", "t. c #5D5854", "u. c #5A5C57", "v. c #5B5A5F", "w. c #5F5A56", "x. c #5B5A56", "y. c #989DA1", "z. c #9F9D9E", "A. c #A09EA3", "B. c #A19BA5", "C. c #9CA0A9", "D. c #9C9D9F", "E. c #9AA19A", "F. c #9DA0A5", "G. c #9D9F9C", "H. c #9B9FAB", "I. c #97A1A2", "J. c #97A1A3", "K. c #999D9E", "L. c #A09FA4", " ", " . + @ # $ % & ", " * = - ; > , ; ' ", " ) ! ~ { ] ^ / ( _ ", " * : < [ } | 1 2 3 ", " 4 5 6 7 8 9 0 a b ", " c d e f g h i j k l ", " m n o p q r s t u v w x ", " y z A B C D E F G H I J K L ", " M N O P Q R S T U V W X Y Z ` ", " ...+.@.#.#.w $.%.&.*.=.-.H ;.", " >.[ ,.'.).!.~.{.].^./.(._.B :.", " <.[.}.|.1.2.2.3.4.5.6.7.8.9.;.", " 0.a.b.3.}.c.d.b.e.f.g.h.i.j.k.", " l.m.n.o.p.q.r.s.t.u.v.w.x.y.", " z.A.B.C.D.E.D.F.G.H.I.J.K.L."}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/favourite.xpm0000644000175000017500000000343311573645305026014 0ustar rizlarizla/* XPM */ static char * favourite_xpm[] = { "16 16 89 1", " c None", ". c #B07801", "+ c #B47605", "@ c #B57605", "# c #FFD70D", "$ c #684B00", "% c #B37403", "& c #FAE76F", "* c #704803", "= c #B57706", "- c #B57302", "; c #B37603", "> c #B67906", ", c #B37802", "' c #FBE449", ") c #FDDD32", "! c #FEE449", "~ c #6F4604", "{ c #905D01", "] c #8A5D02", "^ c #886201", "/ c #8D5E02", "( c #B47903", "_ c #F3B806", ": c #F7CA00", "< c #FDD20A", "[ c #FFDA1A", "} c #FDDB18", "| c #FEDA16", "1 c #FCD50B", "2 c #F9CA02", "3 c #EAAE02", "4 c #E1A431", "5 c #F1A803", "6 c #8C5F04", "7 c #B67501", "8 c #F1B904", "9 c #FDDD30", "0 c #FFD50D", "a c #FCC601", "b c #EBA704", "c c #F0BE00", "d c #EAA605", "e c #6E4807", "f c #999D9C", "g c #B57507", "h c #FCE442", "i c #F8C802", "j c #EEAE04", "k c #E9AB02", "l c #6F4902", "m c #9E9EA0", "n c #6E4809", "o c #FDE24B", "p c #FEDC19", "q c #EDAE00", "r c #F8CB00", "s c #EDAD03", "t c #5A5A58", "u c #9D9EA3", "v c #6F4900", "w c #FDE76F", "x c #FFD91C", "y c #5C5859", "z c #5E5A59", "A c #555A53", "B c #F2B914", "C c #F0B801", "D c #5C5D57", "E c #6D4804", "F c #FBDD1D", "G c #5D5956", "H c #9E9FA4", "I c #959FA1", "J c #98A0A3", "K c #5E5955", "L c #F1BB01", "M c #694801", "N c #FFE570", "O c #595554", "P c #9C9C9C", "Q c #5A5B55", "R c #F1B902", "S c #5C5857", "T c #6D4700", "U c #5A5A5C", "V c #9CA1A5", "W c #585A57", "X c #575958", " ", " . ", " + ", " @#$ ", " %&* ", " =-;>,')!~{]^/ ", " (_:<[}|123456 ", " 7890abcdef ", " gh[ijklm ", " nopqrstu ", " vwxyzABCD ", " EFGHIJKLt ", " MNOP QRS ", " TUV WX ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/image.xpm0000644000175000017500000000150711573645305025072 0ustar rizlarizla/* XPM */ static char * image_xpm[] = { "16 16 28 1", " c None", ". c #3B455E", "+ c #000000", "@ c #FFFFFF", "# c #9F9FA2", "$ c #517DFE", "% c #8AA7FF", "& c #FEFFFE", "* c #FDFEFD", "= c #FCFEFC", "- c #A6BCFF", "; c #3C465E", "> c #F1F9EB", ", c #3F7F00", "' c #D2EABA", ") c #EFF8E8", "! c #FDFFFD", "~ c #F3FAEC", "{ c #7CC235", "] c #E7F4DB", "^ c #FAFDF8", "/ c #D2EAB8", "( c #F0F8E8", "_ c #89C849", ": c #8BC94C", "< c #8ECA51", "[ c #8CC94D", "} c #93CD58", " ", " ", "..............+ ", ".@@@@@@@@@@@@@+#", ".@@@@@@@$%%%.@+#", ".@&*==&@$---.@+#", ".@@@@@@@$$$$.@+#", ".@@@@@@@.....@+#", ";&>,,')!@@@@@@+#", ";~,{{,,]^&@@@@+#", ".,{{{{{,/(,,,*+#", ".{{{{{{{,,___,+#", ".{{{{{{{:<_[}_+#", ".{{{{{{{{{{{{{+#", ".++++++++++++++#", " ###############"}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-undo.xpm0000644000175000017500000000426511573645305025704 0ustar rizlarizla/* XPM */ static const char *edit_undo_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 96 2", "W c #A2A1A6", "{ c #11550C", "B c #A2A1A9", "] c #114F0C", "T c #58BA0F", "Z c #17600F", "# c #0E6507", "r c #0C6805", "S c #189316", "j c #41772C", ": c #6AC415", "g c #136012", "; c #67DA0B", "J c #10A20F", "@ c #1B9413", "+ c #1B9415", "K c #A19FAA", "~ c #47A519", ".. c #A6A0A4", "[ c #0E560A", "/ c #2B840E", "O c #17970F", "P c #14640B", "= c #74DD04", "X c #179412", "& c #76D70C", "Y c #67C805", " . c #A2A0AD", "x c #74DA0D", "1 c #15940F", "l c #87C95F", "$ c #159413", "I c #0E6D13", "Q c #08560B", "y c #79D80C", "3 c #77DE0B", "5 c #6AC909", "w c #27A110", "! c #0F4E08", "s c #50A50A", "q c #55A90B", "9 c #55A302", "t c #75DB0B", "0 c #53A908", "_ c #A3A1AE", "2 c #1B9914", "^ c #2D8612", "V c #A1A1A3", "U c #10520A", "` c #10520B", "f c #0E580D", "| c #9FA1A0", ", c #259815", "n c #45B342", ". c #56A402", "c c #62CF11", "R c #3B9C17", "N c #9DA1A2", "6 c #67D011", "- c #76D90C", "7 c #69C407", "* c #74DC09", "G c #62C60B", "L c #A29FA6", "% c #1F9E13", "' c #11530C", "C c #A29FA8", "< c #10660B", "X. c #9B9EA7", "H c #69C113", "D c #0F5308", "u c #56BE0F", "b c #67C111", "p c #6CC513", "d c #0F531A", "> c #50A406", "F c #77DA0D", " c None", "a c #67BE17", "} c #0D500B", "A c #3C7429", "( c #12540D", "e c #16940F", "m c #0B5309", ") c #389D11", "v c #63C415", "o. c #A1A0A6", "i c #6DC608", "8 c #6FC315", "z c #105111", "4 c #78DB0F", "o c #129717", "h c #008115", "E c #0C540B", "M c #14620C", "k c #179517", /* pixels */ " ", " ", " ", " . X o O + @ ", " # $ % & * = - ; : > , ", " < 1 2 3 4 5 6 7 8 9 0 q w e ", " r t y u i p a s d f g h j k l ", " z x c v b n m M N B V C Z A S ", " D F G H J D K L P I ", " U Y T R E W W Q ", " ! ~ ^ / ( ) _ ", " ` ' ] [ { } ", " | ...X.o. ", " ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/replace-start.xpm0000644000175000017500000000073711573645305026562 0ustar rizlarizla/* XPM */ static char * search_replace_xpm[] = { "16 16 5 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #9FA0A2", "# c #DADADA", " ", " ", " ", " ", " .. .. ", " .+.@ .+. ", " .++.....++. ", " .+++++++++++. ", " .###########. ", " .##.....##.@ ", " @.#.@@@.#.@ ", " @.. ..@ ", " @@ @@ ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/reload.xpm0000644000175000017500000000107011573645305025251 0ustar rizlarizla/* XPM */ static char * reload_xpm[] = { "16 16 11 1", " c None", ". c #000000", "+ c #A8AFA0", "@ c #DEE6D6", "# c #CCDCB8", "$ c #BDD2A1", "% c #BAD09D", "& c #9FA498", "* c #7CC235", "= c #3F7F00", "- c #9CB476", " ", " . ", " ..+. ", " .@#$%. ", " .&**=*. ", " .*=.=. ", " .*. . . ", " .=. .. ", " .. .@. ", " . . .*. ", " .@.=*. ", " .@***=. ", " .-*==. ", " .-.. ", " . ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/go-fast-forward.xpm0000644000175000017500000000072411573645305027012 0ustar rizlarizla/* XPM */ static char * search_fast_forward_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " ", " .. .. ", " .+. .+. ", " .++. .++. ", " .+++..+++. ", " .@@@..@@@. ", " .@@. .@@. ", " .@. .@. ", " .. .. ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-save-as.xpm0000644000175000017500000000171611573645305026266 0ustar rizlarizla/* XPM */ static char * file_save_as_xpm[] = { "16 16 36 1", " c None", ". c #000000", "+ c #3B455E", "@ c #00C93C", "# c #5ECB25", "$ c #B2C5FF", "% c #FFFFFF", "& c #FEFEFE", "* c #FFFE9C", "= c #32660D", "- c #2A981B", "; c #ADC1FF", "> c #FEFECC", ", c #FFC99A", "' c #FF9623", ") c #848484", "! c #A6BCFF", "~ c #9B6614", "{ c #686768", "] c #9F9FA2", "^ c #9DB6FF", "/ c #94AEFF", "( c #565656", "_ c #8AA7FF", ": c #525109", "< c #7F9FFF", "[ c #FFCBCB", "} c #7497FE", "| c #6A90FE", "1 c #6188FE", "2 c #EDF0F4", "3 c #DCE1EA", "4 c #5882FE", "5 c #517DFE", "6 c #408DED", "7 c #9A9A9A", " .. ", "+++++++++++.@#. ", "+$+%&&&&&&.*=-=.", "+;+%&.....>,'=.)", "+!+%&&&&.>,'~.{]", "+^+%&...*,'~.{.]", "+/+%&&.>,'~.(/.]", "+_+%&.>:'~.{+_.]", "+<+++.&[..{++<.]", "+}}}}...{)}}}}.]", "+||++{){)+++||.]", "+11+2222323+11.]", "+44+2+++233+44.]", "+55+2+6+333+55.]", "7..............]", " ]]]]]]]]]]]]]"}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-documentation.xpm0000644000175000017500000000130411573645305027602 0ustar rizlarizla/* XPM */ static char * help_documentation_xpm[] = { "16 16 19 1", " c None", ". c #3B455E", "+ c #4B4B4B", "@ c #98B1FF", "# c #9F9FA2", "$ c #737373", "% c #5B85FE", "& c #FFFFFF", "* c #3C465E", "= c #3D445E", "- c #FBFBFC", "; c #F5F6F9", "> c #EDF0F4", ", c #E5EAF0", "' c #DDE3EB", ") c #D4DBE5", "! c #CCD5E1", "~ c #C4CFDC", "{ c #BECAD9", " ...........+ ", " .@@@@@@@@@@+# ", " .@@@@@@@@@@+#$ ", " .%%%%%%%%%%+#$ ", " .&&&&&&&&&&+#$ ", " .&&&&&&&&&&+#$ ", " *&&&&&&&&&&+#$ ", " .&======&&&+#$ ", " .&&&&&&&&&-+#$ ", " .&====&&-;>+#$ ", " .&&&&&-;>,'+#$ ", " *&&&-;>,')!+#$ ", " *&-;>,')!~{+#$ ", " ++++++++++++#$ ", " ############$ ", " $$$$$$$$$$$$ "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-mail.xpm0000644000175000017500000000077211573645305025663 0ustar rizlarizla/* XPM */ static char * help_mail_xpm[] = { "16 16 7 1", " c None", ". c #3B455E", "+ c #3B445C", "@ c #000000", "# c #FFFFFF", "$ c #3C455D", "% c #3B455D", " ", " ", " ", " .++++++++++++@ ", " ++##########+@ ", " +#+########+#@ ", " +##+######+##@ ", " +###+####+###@ ", " +####+##+####@ ", " +###$#++#+###@ ", " +##+######+##@ ", " +#%########+#@ ", " ++##########+@ ", " +@@@@@@@@@@@@@ ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/panel-close.xpm0000644000175000017500000000226111573645305026210 0ustar rizlarizla/* XPM */ static char * searchbar_close_xpm[] = { "16 16 50 1", " c None", ". c #FFFFFF", "+ c #FEFEFE", "@ c #FEFEFF", "# c #FDFDFD", "$ c #7F7F7F", "% c #808080", "& c #828282", "* c #818181", "= c #FCFCFC", "- c #FBFBFB", "; c #F8F8F8", "> c #F9F9F9", ", c #FAFAFA", "' c #F6F6F6", ") c #F7F7F7", "! c #F5F5F5", "~ c #F3F3F5", "{ c #F5F5F7", "] c #F4F4F6", "^ c #818183", "/ c #F1F2F4", "( c #807E7F", "_ c #F3F1F2", ": c #F2F2F2", "< c #F2F3F5", "[ c #F3F2F7", "} c #F1F1F3", "| c #808082", "1 c #EFEFF1", "2 c #F1EFF2", "3 c #7E7F81", "4 c #818382", "5 c #F0F2F1", "6 c #F2F2F4", "7 c #F0EFF4", "8 c #EEEEF0", "9 c #F0F0F2", "0 c #EDEEF2", "a c #ECEDF1", "b c #EFEDF0", "c c #ECECEE", "d c #EBEBED", "e c #EDEDEF", "f c #EAEAEC", "g c #EBEAEF", "h c #EAE9EE", "i c #EAEBEF", "j c #EAEBED", "k c #E9E9EB", " ", "......++.+.+.@@ ", ".+...+......+.. ", ".....#..+++...# ", "..+$%..+.+&%... ", "..+.*$+.+%$.... ", "...++*%+%*+#... ", "==-==#%%%-=#=-= ", ";>>>>;*&%,;,;>> ", "''')!%%'*%)''') ", "~{]]^^{]/^(_:<[ ", "}}~||1}}2~34567 ", "818189180a18b88 ", "cdcdefdcggghijk ", "ccccccccccccccc ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-keyboard.xpm0000644000175000017500000000121711573645305026534 0ustar rizlarizla/* XPM */ static char * help_keyboard_xpm[] = { "16 16 16 1", " c None", ". c #5C6272", "+ c #FEFFFF", "@ c #FFFFFF", "# c #030353", "$ c #FFFEFF", "% c #FFFFFD", "& c #FFFEFC", "* c #FEFEFC", "= c #FCFFFF", "- c #FEFEFE", "; c #C8D0DD", "> c #FEFFFD", ", c #FDFFFE", "' c #FBFFFA", ") c #FFFFFB", " ", " ............. ", ".+@@@@@@@@@@@@# ", ".$%@&@$*=@%-%;# ", ".>%@$,$@@@#%@;# ", ".%+@>#'$@+#%@;# ", ".$*$##@$$$#$%;# ", ".%@########++;# ", ".@-$##@$%$)@@;# ", ".+@++#',-@@$%;# ", ".@@@@@@@@@@@@;# ", ".@;;;;;;;;;;;;# ", " ############# ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/find-previous.xpm0000644000175000017500000000563211573645305026605 0ustar rizlarizla/* XPM */ static const char *find-previous_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 142 2", "# c #FCFEFD", "o c #697585", "q. c #DDC94C", "O. c #545585", "@. c #5FB4F4", "D c #363466", "h c #E6EBE7", "q c #E1E4DD", "m c #2F3362", ".. c #D2990C", "] c #B5D9F9", "2. c #3F9CEA", "w. c #CB9807", "7 c #F5F7F6", "T c #B5D6F5", "F c #040353", "l c #D5DCD5", "u c #E4EBE3", "; c #FFFFFD", "g. c #35322B", "$ c #FFFFFF", "a c #CEDBD1", "z. c #9E9E9E", "Q c #323465", "r. c #46446C", "5 c #FDFFFE", "N c #3C3C6E", ", c #F8F8F8", "I c #7D4900", "V c #BDC9BF", "R c #B6DAF4", "Y c #050751", "Z c #ACBDAD", ">. c #CC9902", "c c #BBCCBC", "O c #6A7086", "=. c #050452", "/ c #7B4900", "+ c #A19CA2", ". c #6D7486", "3 c #9F9FA7", "f. c #DAC74E", "i. c #313562", "P c #313564", "p c #D9DBD6", "' c #A1D4FF", "y c #EDEEE9", "X. c #7E4704", "y. c #3AA3F6", "d. c #392E2C", "@ c #707287", "J c #ABBEAB", "8 c #F0F5F1", "c. c #2F3569", "S c #A0A09E", "n c #A0A0A0", "a. c #343666", "^ c #CB9705", "v c #FFFEFC", "e. c #A09DA6", "C c #B3C6B2", "0 c #E2EDE5", "&. c #5BB3F2", "- c #717388", "B c #000857", "{ c #B6DCF3", "k. c #A39EA5", "z c #CCD7CF", "j c #E0E7DF", "> c #FBFBF9", "0. c #D5C846", "g c #6F7084", "2 c #303064", "6 c #FBFBFB", "( c #A19EA5", "X c #6D7687", "8. c #A19EA7", "G c #B4D9F3", "%. c #5EB1F7", "<. c #A19BA5", "b c #333767", "t c #EFF0EB", "l. c #804906", "d c #333464", "` c #B4D6F9", "s c #FEFFFF", "_ c #B9DAFB", "h. c #379EFA", "L c #FEFCFF", " . c #D8C94C", "W c #313467", "#. c #5AB1F8", "f c #A29FA6", "-. c #392D2F", "M c #D0DCD2", "6. c #38A5F7", "r c #F5F8F1", "1. c #343868", "~ c #3C435F", "| c #DDC44E", "+. c #69B7F5", "< c #F0F4F5", "o. c #A09FA5", ":. c #DBC74C", "x. c #2D3768", "K c #A4B9A8", "5. c #36A5F7", "x c #C4D1C7", "[ c #B3DAF7", ": c #FFFDFE", "w c #FFFDFF", "4. c #42A1F1", "$. c #5DAFF8", "! c #323568", " c None", "i c #DDE5DA", ";. c #D7CA4A", "E c #323268", "} c #000758", "1 c #ECF1EB", "s. c #A39DA7", "9 c #ECEEEB", "H c #353664", "*. c #60B0F9", ") c #1E1C65", "u. c #372D62", "j. c #353066", "p. c #333669", "4 c #6D7288", "e c #333365", "& c #FEFEFC", "% c #FEFEFE", "A c #333369", "* c #33336F", "7. c #3CA1F9", "= c #A2A4A3", "3. c #46A3E9", ",. c #7E4800", "t. c #599DDC", "k c #D7E2DA", "U c #9DA0A9", "9. c #342E32", /* pixels */ " . X o O ", " + @ # $ % & * = ", " - ; : > , < 1 2 3 ", " 4 5 6 7 8 9 0 q w e ", " X r t y u i p a s d f ", " g h j k l z x c v b n ", " m & M N B V C Z w A S ", " D F G H J K L P I U ", " Y T R E W Q ! ~ ^ / ( ", " ) _ ` ' ] [ { } | ...X.o. ", "O.+.@.#.$.%.&.*.=.-.;.:.>.,.<. ", " 1.2.3.4.5.6.7.Y 8.9.0.q.w.e. ", " r.t.y.u.i.p.a. s.d.f.g.n ", " D h.j. k.l.z. ", " x.c. ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/editor-fullscreen.xpm0000644000175000017500000000317411573645305027440 0ustar rizlarizla/* XPM */ static const char *editor-fullscreen_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 81 1", "> c #5A6372", "T c #040650", "z c #1B21DB", "n c #FFFFFD", "m c #FFFFFF", "U c #02064F", "D c #020650", "$ c #9A111B", "- c #586075", "B c #FDFFFE", "0 c #92B7FD", "C c #000652", "u c #5264EA", "d c #A2CAFB", "i c #647AF1", "1 c #050452", "Y c #03074E", "~ c #9B121A", "r c #596174", "e c #030750", "E c #030751", "X c #9B121C", "w c #AAD5FF", "y c #313CE6", "f c #A8D5FF", "I c #FEFDFF", "8 c #728DF4", "k c #1D20DD", "h c #1D20DF", "3 c #252BE1", "x c #1B23E0", "O c #9A131A", "Z c #FFFEFD", "b c #FFFEFF", "^ c #9A101D", "c c #020552", "7 c #6178EC", "t c #262CE2", ": c #596072", "q c #A2C6FA", "p c #7492F4", "K c #030653", "# c #9B111E", "* c #576371", "J c #FEFFFB", "N c #FEFFFD", "v c #FEFFFF", "o c #99111B", "+ c #99111D", "S c #FEFCFD", "H c #FCFFFD", "G c #FCFFFF", "j c #1D22E0", "& c #5A6171", "= c #5A6173", "5 c #3F4EE7", "< c #586472", ". c #9A121C", "@ c #9A121E", "P c #FFFDFE", "A c #FFFDFF", "R c #02044E", "a c #85A6F5", " c None", "2 c #981219", "Q c #00074F", "L c #5B6274", "; c #5B6275", "4 c #2E39E1", "9 c #83A3F6", "l c #1C20E1", ", c #596273", "g c #03054F", "W c #030550", "s c #93B9F8", "6 c #5062EA", "M c #576274", "V c #FEFEFC", "% c #576276", "! c #99131E", "F c #FEFEFE", /* pixels */ " ", ".XoO +.@#", "$ @", "@ %&*=-;:>,<*1 2", " ,34567890qwe ", " rty5uipasdfg ", " >hhjklhkjzxc ", " rvvbnmvmmnvg ", " MNnmBNVmmvnC ", " rbmZmBAmmSnD ", " =FGbHFnnvnJK ", " LmvvbvbnPImD ", "@ *DUYTgREDgWQ .", "$ !", ".X#O !~^X", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/bookmark5.xpm0000644000175000017500000000331611573645305025702 0ustar rizlarizla/* XPM */ static const char *bookmark5_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 87 1", "l c #DEDDD8", "V c #DEDDD9", "' c #A29E9D", "u c #5A6070", ". c #A09E9F", "+ c #A09EA3", "z c #58606D", "d c #E1DED9", "e c #FFFFFF", "W c #5D616D", "b c #FFFCFD", "N c #FDFFFA", "7 c #FDFFFC", "A c #FDFFFE", "; c #DFDEDA", "L c #DFDEDC", "E c #5B616D", "Q c #5B616F", "O c #A19FA0", "o c #A19FA2", "q c #A19FA4", "t c #605F71", "G c #DBDED7", "C c #5E626E", "0 c #9F9F9D", "g c #9F9F9F", "6 c #FEFDF9", "- c #E0DCDB", ", c #DEDFD9", "Y c #DEDFDA", "f c #5A626D", "i c #A2A0A5", "c c #FCFDFF", "X c #A0A0A0", ") c #A0A0A2", "T c #5F6072", ": c #E1E0DE", "k c #FFFEFA", "s c #FFFEFC", "y c #E1DDDA", "D c #FFFEFF", "9 c #5D606F", "p c #FDFEF9", "$ c #A3A1A2", "_ c #9E9DA2", "P c #F3F3F3", "5 c #FDFEFF", "< c #DFDDE0", "H c #5B6073", "@ c #A1A19F", "& c #DDDDDB", "* c #DDDDDD", "J c #9FA1A0", "I c #FEFFFA", "x c #9F9EA3", "v c #FEFFFD", "w c #FEFFFF", "4 c #FEFCFD", "j c #FCFFF8", "( c #A2A2A2", "/ c #9D9EA3", "~ c #5A6470", "2 c #F2F4F3", "n c #FAFFF9", "# c #A09F9D", "Z c #F5F5F5", "B c #FFFDFE", "^ c #5D5F6E", " c None", "r c #FDFDFB", "S c #FDFDFD", "F c #FDFDFF", "` c #A1A09C", "K c #A1A09E", "U c #F6F6EE", "! c #59626B", "R c #5E606C", "M c #9FA0A2", "1 c #5E606D", "m c #9FA0A4", "% c #9F9D9E", "h c #9F9DA0", "8 c #FEFEFC", "= c #E0DDD8", "3 c #FEFEFE", "a c #FEFEFF", "> c #DEE0DB", /* pixels */ " ", " ", " .XoOo+@#$ ", " %&*=-;:>,<1 ", " o23445678-90 ", " qwertttt8yuX ", " ie8ptpasedfg ", " he8jtttkelzx ", " .cvwbpnt3;fm ", " MseptttNBVC@ ", " OZAkSDFBpGHJ ", " KLPDI8eBUYTm ", " REWWQ!~C^/( ", " oqq)_o`i' ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/marker.xpm0000644000175000017500000000175411573645305025275 0ustar rizlarizla/* XPM */ static const char *marker_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 38 1", "y c #12650B", ". c #115212", "p c #44A115", "# c #11660B", "$ c #78DA0B", ", c #105013", "q c #40A114", "< c #48AC14", "0 c #45A216", "& c #106708", "; c #79DB0C", "X c #0E6709", "* c #77DB09", "5 c #49AD17", "> c #0E670D", "% c #77DB0B", "8 c #44A315", "= c #75DB0B", "e c #44A019", "r c #11650D", "- c #78DC0C", ": c #76DC0C", "9 c #43A117", "@ c #10660B", "t c #10660D", "3 c #49AC11", "2 c #49AC13", "4 c #49AC14", " c None", "O c #75DD0E", "1 c #47AC12", "u c #44A216", "6 c #4CAD12", "i c #11670C", "+ c #11670E", "o c #11640A", "7 c #105111", "w c #45A017", /* pixels */ " ", " ", " ", " ", " .X ", " oO+ ", " @@#@$%& ", " .*=%-;:> ", " ,<123456o ", " 7890qwer ", " t@y@9ui ", " ipo ", " ## ", " ", " ", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/stay-on-top.xpm0000644000175000017500000000717011573645305026204 0ustar rizlarizla/* XPM */ static const char *stay_on_top_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 188 2", "6. c #FCFEFB", "` c #707386", "x c #6078F2", "| c #FCFEFD", "M c #3E425F", "_ c #A2A1A7", "p. c #92A287", "t c #697281", ":. c #8BA791", "XX c #A99CA6", "C. c #35475F", "g. c #8BA48F", "@. c #A29EAC", "l. c #A0A1A5", "3. c #FAFEFD", " X c #A0A1A6", "~ c #FAFEFF", "%. c #6C7680", "i. c #FFFFFF", "[. c #A59FA1", "z. c #586073", "/ c #FFFCFB", "$ c #6C7383", "{ c #F8FEFA", "&. c #FFFCFD", "< c #C1C3BE", "% c #6C7386", "8. c #FDFFF7", "B c #FDFFFA", "T. c #323465", "i c #6C7089", "b. c #FDFCF7", "2. c #5B6473", "5. c #FDFCFF", "Q. c #3C3666", "@ c #6A7086", "I c #FBFFFF", "+ c #6F748A", "e. c #3B465A", "|. c #A19FA4", "a. c #8FA98E", ", c #C2C4B9", ".. c #FBF9FC", "F c #454FEF", "-. c #8FA68C", "#. c #6D7487", "M. c #F9FFFF", "]. c #A6A0AC", "Y c #667384", "N. c #FEFDF9", "0 c #C7C5C6", "S. c #2C3463", "R c #FEFDFB", "2 c #C2C1C7", "d. c #8DA689", "7 c #9DA2A6", "}. c #A2A39E", "N c #9D9F9E", ": c #BDB7BB", "G c #4E64ED", "(. c #57555A", "A. c #5C5F70", "y c #6B7187", "$. c #FCFDF5", "m c #91B8FD", "p c #707589", "9 c #B1B2B4", "0. c #FCFDF8", "). c #A2A0A5", "S c #272BEC", "h c #75768A", ",. c #F5FFFE", "n c #89A7FF", "v. c #FCFAFB", "w. c #FCFAFD", "o. c #FAFDF2", "j. c #FAFDF6", "* c #677484", "8 c #6C7888", "k c #323AE5", "! c #FFFEF9", "z c #5162EE", "x. c #FFFEFC", "~. c #3A445D", "6 c #6C7586", "W c #FFFEFF", "c. c #585F71", "O. c #FFFBF8", "e c #6E6F8B", "# c #6C7280", "a c #6C7282", "'. c #A09AA6", ". c #657487", "7. c #FDFEF9", "U. c #5B636E", "X c #717388", "W. c #353A60", "c c #738BEF", "s c #71738A", "> c #C4C9C3", "3 c #C1BFC4", "[ c #FDFBFE", "T c #FDFBFF", "V. c #FBFEF5", "D c #3538E5", "s. c #8CA48E", "t. c #5B6074", "4. c #6A6F83", "L c #3B485B", "R. c #353767", "K. c #3D425F", "f c #FDF8FE", "=. c #8AA791", "r. c #9FA4A7", "+. c #3B425E", "v c #7CA0F8", "E c #FEFFFA", "w c #707A83", "`. c #98A0A2", " . c #FEFFFF", ") c #3E465D", "oX c #A49FA6", "Z c #1D25E0", "V c #FCFFF8", "J c #6F85F4", ">. c #86A794", "q c #78828E", "^ c #FCFCFA", "D. c #313165", "= c #6B708E", "Q c #F7F8FD", "^. c #3C4661", "B. c #FAFCEE", "& c #6E7484", "L. c #A29CA6", "( c #FAFCF7", "H c #5E76F2", "_. c #A09FA7", "J. c #FFFDF6", "l c #3D51E6", "n. c #FAF9F7", "r c #73758C", "h. c #F8FFF7", "f. c #89A58F", "d c #6C7481", "g c #FFFDFA", "k. c #3F475C", "} c #FFFDFF", "/. c #3D4A5B", "q. c #FFFAFC", "u. c #5D5F6E", " c None", "] c #6A7787", "P. c #9CA2A0", "!. c #3C3A6B", "X. c #F6FFFE", "{. c #A3A0AB", "; c #ADA8AE", "- c #6F7585", "Y. c #3D4460", ";. c #91A790", "C c #1E1DE3", "m. c #FBFDF8", "9. c #F4FFF6", "H. c #FBFDFA", "A c #1C23E5", "E. c #353666", "O c #687484", ".X c #A1A0A6", "U c #FBFAF5", "I. c #A1A0A8", "' c #FBFAFF", "<. c #3B4461", "4 c #C4BFC3", "K c #90ACEB", "u c #6D7285", "5 c #C9C0C1", "Z. c #9FA0A5", "1. c #9F9DA2", "G. c #FEFEFC", "F. c #5C636D", "y. c #FEFEFE", "j c #2929E9", "1 c #C0C2BD", "o c #6B7284", "b c #7FA3F9", "P c #9D9D9D", "*. c #8DA490", /* pixels */ " ", ". X o O + @ # $ % & * = ", "- ; : > , < 1 2 3 4 5 6 7 ", "8 9 0 q w e r t y u i p a s u , ", "d f g h j k l z x c v b n m M N ", "X B V d C Z A S D F G H J K L P ", "6 I U Y T R E W Q ! ~ ^ / ( ) _ ", "` ' V ] [ { } | .B ..X.o.O.+.@.", "#./ $.%.&.*.=.-.;.:.>.E ^ ,.<.1.", "2.V 3.4.5.6.7.8.9.O.B 0.q.w.e.r.", "t.y.| u.i.p.a.s.d.f.g.h...j.k.l.", "z.w.x.c.v.y.b.n.R m.M.N.B.V.C.Z.", "A.S.D.F.G.x.x.H.E J.E N.m.^ K.L.", " P.I.U.Y.T.R.E.W.Q.!.~.^./.(.).", " _.`.'.].[.{.}.|. X.XXXoX", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/run-skript.xpm0000644000175000017500000000453111573645305026126 0ustar rizlarizla/* XPM */ static const char *run-skript_xpm[] = { /* columns rows colors chars-per-pixel */ "15 17 106 2", "' c #060653", "Y c #BECBDB", "v c #060354", "o c #6E7387", "y c #A0A1A6", "s c #871412", "2 c #FAFEFF", "S c #D2D8E8", "f c #869A87", "[ c #040353", "> c #FFFFFD", "< c #FFFFFF", "7 c #02064D", ": c #FFFCF9", "a c #A09BA1", "@ c #6C7383", "w c #6C7385", "* c #6C7386", "$ c #717485", "o. c #949397", "9 c #FDFFFC", "B c #020355", "J c #DADDE4", "@. c #9E9BA2", "0 c #000654", "! c #CED8E1", "C c #EB582D", "O c #6F7487", "| c #030A52", "& c #6F7186", "M c #E7E6EC", "+ c #6D7484", "u c #6D7486", "4 c #030454", "/ c #BBC9D6", "r c #FEFDF9", ") c #080552", "~ c #C5D1DF", "= c #FEFDFF", "A c #E0DFED", "h c #060551", "{ c #060555", "i c #FCFDFF", "( c #B9C6D7", "z c #040851", "L c #DCE5EE", "^ c #BCCAD3", "k c #E16A56", "d c #EBEBEB", "; c #FFFEFA", "j c #A09DA6", "g c #FFFEFF", "} c #020554", "m c #E9EEF1", ". c #6C728A", "R c #9E9DA3", "N c #DFE3EC", "#. c #A39EA2", "x c #9CA0A1", "$. c #A39EA4", "V c #A39EA5", "l c #FDFBFE", " . c #000253", "W c #CED1DB", "n c #F6F7FB", "b c #9F9EA3", "*. c #9F9EA4", "- c #FEFFFD", "I c #CAD7E0", "3 c #FEFFFF", "T c #030359", "` c #01034A", "# c #6B7388", ", c #FCFFF8", "Q c #D2DCDD", "p c #060457", "E c #D2D6D7", "+. c #969495", "=. c #A09FA4", "H c #E60603", "c c #F0F1F5", "%. c #A5A0A6", "1 c #FFFDFE", "G c #A3A3A1", "-. c #9E9FA1", "F c #020451", "% c #6C7184", "] c #020149", "5 c #6C7185", " c None", "D c #CBD2E4", "6 c #FDFDFB", "U c #C4CED8", "8 c #6A7181", "P c #D3DAE2", "q c #A1A09C", "e c #91A792", "_ c #A1A0A8", ".. c #9FA3A4", "&. c #9FA0A2", "t c #030552", "K c #E5EAF0", "Z c #EAEEF1", "X. c #959293", "X c #6B7282", "O. c #939293", /* pixels */ " ", " . X o O + o @ # $ % & * ", " o = - ; : > , < 1 2 3 4 ", " 5 < < < < < < 6 > < 1 7 ", " 8 < < < < < < 9 < < > 0 q ", " w < < e e e e e e < r t y ", " u < < < < < < < < < i p a ", " s s d d f f e e e e < g h j ", " s k s d d d < < < < < l z x ", " s k k s d d e e e e < c v b ", " s k k k s d < < n m M N B V ", " s C C C C s < < Z A S D F G ", " s H H H s J K L P I U Y T R ", " s H H s E W Q ! ~ ^ / ( ) _ ", " s H s ` ' ] [ { B } | .v ..", " s s X.o.O.+.@.#.$.%.&.*.=.-.", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-new.xpm0000644000175000017500000000541311573645305025516 0ustar rizlarizla/* XPM */ static char * file_new_xpm[] = { "16 16 128 2", " c None", ". c #6A748D", "+ c #6C7184", "@ c #6E7389", "# c #6D7487", "$ c #6D7484", "% c #6E7587", "& c #6C7386", "* c #6B7386", "= c #717485", "- c #596271", "; c #707287", "> c #FFFFFF", ", c #FEFEFE", "' c #FEFFFF", ") c #FDFFFC", "! c #FFFFFD", "~ c #FEFEFC", "{ c #5A606E", "] c #FDFEFF", "^ c #58606D", "/ c #6D7285", "( c #FDFFFA", "_ c #FEFFFA", ": c #FEFCFD", "< c #FFFEFC", "[ c #5C6670", "} c #030550", "| c #6B7284", "1 c #FDFFFE", "2 c #FEFDFB", "3 c #FFFDFE", "4 c #5B6171", "5 c #585F6F", "6 c #5A646E", "7 c #020554", "8 c #A1A09C", "9 c #6D7286", "0 c #FEFEFF", "a c #FFFDFF", "b c #030552", "c c #A2A0A3", "d c #6F7585", "e c #FEFFF9", "f c #FEFCFF", "g c #030454", "h c #9F9EA4", "i c #FDFDFB", "j c #FFFEFA", "k c #060555", "l c #A19EA5", "m c #FBFCFE", "n c #FFFEFF", "o c #FFFFFB", "p c #FFFCFD", "q c #030751", "r c #9E9FA3", "s c #6E748A", "t c #FEFDF9", "u c #FDFBFE", "v c #F5F7F4", "w c #F0F1F6", "x c #060354", "y c #9F9DA2", "z c #6B7485", "A c #FDFDFF", "B c #FBFFFA", "C c #F6F7FB", "D c #EBEEF3", "E c #E3E8EC", "F c #DEE2EB", "G c #020356", "H c #A09EA3", "I c #6E728B", "J c #FDFCFA", "K c #F8F7FC", "L c #EBEEF5", "M c #E8ECEF", "N c #DDE1ED", "O c #D3D9E7", "P c #CCD4E1", "Q c #02044F", "R c #A3A1A4", "S c #6C7481", "T c #FCFFFF", "U c #F3F6FB", "V c #ECEFF6", "W c #E3EAF0", "X c #DCE5EE", "Y c #D4DBE3", "Z c #CDD5E0", "` c #C1CDD9", " . c #BFCBDB", ".. c #030456", "+. c #9F9CA3", "@. c #6D7582", "#. c #F7F8FC", "$. c #EFF1F0", "%. c #E4EAEA", "&. c #DFE4EA", "*. c #D4DBE1", "=. c #CAD9E0", "-. c #C6CFDE", ";. c #BFC9D3", ">. c #BCCAD7", ",. c #B9C6D9", "'. c #070652", "). c #A1A0A5", "!. c #6D7383", "~. c #030154", "{. c #000352", "]. c #040758", "^. c #040150", "/. c #050156", "(. c #060553", "_. c #020556", ":. c #010850", "<. c #020353", "[. c #9FA0A2", "}. c #A39F9E", "|. c #A09EA1", "1. c #A29FA6", "2. c #9E9DA2", "3. c #A39FA0", "4. c #A49FA6", "5. c #A49FA5", "6. c #A19FA2", "7. c #A0A0A2", " ", " . + @ # $ % & * = - ", " ; > , ' ) ! ~ , { ] ^ ", " / ( _ ~ , : < ) [ > : } ", " | 1 2 , > 3 ~ , 4 5 6 7 8 ", " 9 0 3 , ! > > ~ ~ a < b c ", " d ) _ ~ , > ' 3 e f ] g h ", " / > 3 > > , i ) ( _ j k l ", " % m > > , > , n < o p q r ", " s t ( u > ' < a ] v w x y ", " z : A ' B o ~ C D E F G H ", " I ~ _ f J K L M N O P Q R ", " S ] T U V W X Y Z ` ...+. ", " @.#.$.%.&.*.=.-.;.>.,.'.). ", " !.~.{.].^./.(.7 _.:.<.x [. ", " }.c |.1.2.3.4.5.H 6.6.7. "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/marker-next.xpm0000644000175000017500000000617011573645305026246 0ustar rizlarizla/* XPM */ static const char *marker-next_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 156 2", "&. c #010252", "* c #707386", "M. c #010255", "h c #12650D", "@ c #6E7689", ",. c #DCE3ED", "J c #4BAB13", "z c #10650A", "# c #6E7085", "< c #FFFFFD", "q c #FFFFFF", "w c #02064F", "I c #090454", "d c #6C7385", "D c #6C7386", "-. c #FDFFF7", ") c #070751", "0 c #FDFFFA", "m c #FDFFFC", "X. c #FFF9FF", "r c #FDFFFE", "@. c #44A112", "s. c #CED8E1", "^ c #44A114", "5. c #FBFFFC", "f. c #BDCCD3", "Z c #FBFFFE", "L c #4CAC15", "f c #11660B", "3. c #A19FA0", "8 c #125011", "S. c #A19FA4", "A c #050454", "n c #6D7484", "+ c #6D7486", "o c #6D7487", "N c #78DA0B", "C. c #9F9FA1", "M c #105013", "z. c #030456", ": c #FEFDF8", "j. c #080554", "S c #9F9CA3", "= c #6B7485", "k c #76DA08", "o. c #FEFAFB", "g c #12670C", " . c #EDF1F4", "b c #A2A0A5", "t. c #6E757D", "2 c #FCFDFF", "Q c #43A214", "m. c #04084F", "=. c #FCFAFB", "Y c #6E7587", "i. c #E6EAE9", "n. c #040555", "F c #115115", "~ c #41A214", "g. c #BCCAD7", "7. c #EBEEF5", "6 c #FFFEFA", "b. c #040255", ":. c #0E6709", "- c #FFFEFF", "+. c #0E670B", "i c #77DB09", "F. c #9EA09F", "( c #FFFBFF", "4 c #020556", "c c #FDFEF8", "$. c #E4E7EC", "Z. c #A3A1A4", "%. c #DFE3EE", "6. c #F3F6FD", "3 c #FDFEFF", "W c #44A315", "e c #6A727F", "l c #75DB0D", "t c #FDFBFC", "y. c #F8F7FD", "u c #11680A", "O c #6F7689", "x. c #00024F", "q. c #C4CCD9", "{ c #44A017", "| c #F6F7F1", "/ c #11650D", "} c #42A316", "[ c #11650F", "' c #FBFBF9", "V c #78DC0A", "2. c #030653", "P c #0F650A", "5 c #FEFFF9", ".. c #9F9EA3", "r. c #9F9EA4", "p. c #E0E4EF", "u. c #EFF0F2", "0. c #CAD7E0", "O. c #FEFFFF", "j c #0D680B", "1. c #CCD1E4", "a. c #D4DCDE", "8. c #E3EBEE", "y c #FEFCFF", "a c #010658", "U c #9D9EA3", "9 c #126608", "e. c #010358", "c. c #06075A", "T c #FCFCFE", "V. c #A29FA8", "! c #43A115", "` c #6E748A", "p c #10660D", "<. c #D2D9E9", "*. c #A09FA5", "A. c #A5A0A6", "x c #FFFDFE", "N. c #9EA2A5", "H c #49AC13", "1 c #FFFDFF", "K c #49AC14", "d. c #C6D1E3", "_ c #9E9FA1", "C c #0E660F", "B c #77DA0D", "& c #6C7184", " c None", "7 c #FDFDFB", ". c #6C718E", "9. c #D3DAE2", "] c #11670C", "s c #A1A09E", "l. c #6F7283", "$ c #687482", "w. c #BDCDDA", "k. c #A1A0A5", "B. c #A19D9E", ";. c #FBFAF6", ">. c #ECEBF3", "v c #030550", "R c #105111", "D. c #9FA0A4", "v. c #030250", "% c #727385", ", c #FEFEFC", "> c #FEFEFE", "G c #48AD13", "; c #FEFEFF", "h. c #BBC7D7", "4. c #6B7282", "#. c #E8EEEE", "X c #6B7285", "E c #45A015", /* pixels */ " ", " . X o O + @ # $ % & * = ", " * - ; : > , < ; 1 2 3 4 ", " X 5 6 7 3 8 9 0 < < q w ", " e r t > y u i p q q < a s ", " d > f g h j k l z x c v b ", " n m M l i N N B V C Z A S ", " D q F G G H G J K L P I U ", " Y T R E W Q ! ~ ^ / ( ) _ ", " ` ' ] f g [ { } [ | .A .. ", " D X.o.O.0 +.@.f #.$.%.&.*. ", " o =.-.7 ;.P :.>.,.<.1.2.3. ", " 4.5.y 6.7.8.,.9.0.q.w.e.r. ", " t.y.u.i.p.a.s.d.f.g.h.j.k. ", " l.z.x.c.v.b.n.4 4 m.M.A N. ", " B.V.C.Z.S s b A...S.D.F. " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-paste.xpm0000644000175000017500000000724311573645305026052 0ustar rizlarizla/* XPM */ static char * edit_paste_xpm[] = { "16 16 182 2", " c None", ". c #918B7F", "+ c #444348", "@ c #9A6601", "# c #986401", "$ c #9F6501", "% c #444643", "& c #FFFDFE", "* c #FEFEFE", "= c #464541", "- c #948D7B", "; c #918A80", "> c #928C7C", ", c #9C6500", "' c #FEF9E6", ") c #FDFBE4", "! c #58626B", "~ c #B7BDCB", "{ c #BBC1CF", "] c #BCBECD", "^ c #B7C2C8", "/ c #5C6373", "( c #FEFAE1", "_ c #FCFAE3", ": c #B56C28", "< c #9D6601", "[ c #FEF9E5", "} c #F3DE81", "| c #CAC083", "1 c #656571", "2 c #576373", "3 c #5A626F", "4 c #5E6376", "5 c #8D8D81", "6 c #F1E084", "7 c #F4D757", "8 c #6E4600", "9 c #A49EA2", "0 c #9A6400", "a c #FFFAE6", "b c #F3E292", "c c #F2E597", "d c #F3E288", "e c #F4D560", "f c #F6E068", "g c #F8DF61", "h c #F1E181", "i c #F5E08F", "j c #F0D554", "k c #6D4802", "l c #A0A0A2", "m c #9A6500", "n c #FBF9E4", "o c #F6E289", "p c #F3E795", "q c #EED765", "r c #F0C946", "s c #565C68", "t c #37485C", "u c #3B475F", "v c #3B455E", "w c #3A445F", "x c #3E4764", "y c #A49DA5", "z c #9A6402", "A c #FFFAE7", "B c #F5E188", "C c #F1D45F", "D c #F2C93D", "E c #F1C63B", "F c #3B4761", "G c #FDFEFF", "H c #FBFFFC", "I c #FDFFFA", "J c #FDFDFD", "K c #3A4660", "L c #3C4661", "M c #9E6401", "N c #FCFAE5", "O c #F2E390", "P c #F2D257", "Q c #F1C83C", "R c #EFC83D", "S c #3C4562", "T c #FFFEFF", "U c #FDFDFB", "V c #FFFBFC", "W c #3C495C", "X c #ECF1F7", "Y c #39485F", "Z c #FFF9E7", "` c #F1E694", " . c #F0D055", ".. c #F2C73C", "+. c #F0C739", "@. c #3B4560", "#. c #FEFEFF", "$. c #FBFDFC", "%. c #FFFDFC", "&. c #3C475D", "*. c #3D425F", "=. c #454742", "-. c #895A02", ";. c #F3E48F", ">. c #EECB49", ",. c #F1C73D", "'. c #F0C73B", "). c #3A4360", "!. c #FEFCFD", "~. c #FEFEFC", "{. c #FFFFFF", "]. c #FFFDFF", "^. c #FEFFFA", "/. c #434343", "(. c #A09EA1", "_. c #FFF9E3", ":. c #EFD868", "<. c #F1C639", "[. c #F0C63C", "}. c #EFC83C", "|. c #394659", "1. c #91A790", "2. c #91A693", "3. c #8DA889", "4. c #8EA68E", "5. c #8DA38C", "6. c #FDFFFE", "7. c #434341", "8. c #A1A0A5", "9. c #885900", "0. c #F1D665", "a. c #EEC73C", "b. c #EDC83B", "c. c #EBC836", "d. c #374560", "e. c #FEFFFB", "f. c #FCFEFB", "g. c #FEFCFF", "h. c #444243", "i. c #885803", "j. c #FFFBE2", "k. c #F4D463", "l. c #EDC63B", "m. c #F2C93B", "n. c #3B475D", "o. c #FEFDFF", "p. c #8DA693", "q. c #90A68F", "r. c #8DA690", "s. c #8EA68C", "t. c #8EA48D", "u. c #444442", "v. c #A19FA4", "w. c #6D4601", "x. c #6E4A00", "y. c #6E4801", "z. c #6E4702", "A. c #6F4803", "B. c #404562", "C. c #FCFFFF", "D. c #FDFCFF", "E. c #444341", "F. c #A09DA4", "G. c #A29FA8", "H. c #9FA19E", "I. c #A4A09D", "J. c #A1A19F", "K. c #47423E", "L. c #444444", "M. c #464447", "N. c #454449", "O. c #474342", "P. c #434142", "Q. c #444549", "R. c #A5A1A2", "S. c #9F9F9F", "T. c #A1A1A1", "U. c #9E9EA6", "V. c #A09FA5", "W. c #A0A1A3", "X. c #A19FA2", "Y. c #A2A0A3", " . + + . ", " @ # $ % & * = - ; > ", ", ' ) ! ~ { ] ^ / ( _ : ", "< [ } | 1 2 3 4 5 6 7 8 9 ", "0 a b c d e f g h i j k l ", "m n o p q r s t u v w x y ", "z A B C D E F G H I J K L ", "M N O P Q R S T G U V W X Y ", ", Z ` ...+.@.#.$.%.& L &.*.=. ", "-.[ ;.>.,.'.).& !.~.{.].^.{./.(.", "-._.:.<.[.}.|.U 1.2.3.4.5.6.7.8.", "9.[ 0.a.b.c.d.e.f.#.{.g.* ].h.(.", "i.j.k.l.'.m.n.o.p.q.r.s.t.{.u.v.", " w.x.y.z.A.B.* G C.D.& ^.{.E.F.", " G.H.I.J./.K.L.M.N.O.% P.Q.R.", " S.T.U.l V.W.v.X.Y."}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/output-panel.xpm0000644000175000017500000000546411573645305026453 0ustar rizlarizla/* XPM */ static const char *run_shell_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 136 2", "W c Black", "l c #000002", "=. c #000004", "} c #000005", "-. c #050100", "g c #5A6070", "^ c #FAFEFD", "I c #5F6170", "- c #6E7387", "| c #3A4559", "_ c #030102", "F c #030104", "2. c #3A4561", "r. c #A09EA9", " . c #A09EAB", "9 c #444D6C", "0. c #384558", "/ c #FDFFFA", "D c #010100", "] c #5B646D", "R c #010101", "c c #010103", "s c #353FEE", "0 c #9E9BA2", "{ c #FDFCFF", "a. c #A1A2A4", "2 c #333FEB", "4 c #333FED", "= c #6D7783", ": c #596478", "A c #040205", "O. c #020200", ":. c #3B405D", ". c #868B9E", ") c #020202", "( c #020204", "s. c #9F9FAB", "u c #2F3FEA", "N c #9A98A5", "r c #2F3FEC", ".. c #5A656B", "G c #000200", "b c #000201", "y c #3440EE", "Z c #000205", "e c #2D42ED", "7 c #2D3FE7", "<. c #3E4160", "~ c #5A626F", "' c #A2A0AD", "M c #2B4776", "O c #697184", "i c #3240EB", "m c #050004", "! c #9B9FAA", "i. c #A0A0A2", "f c #9698A5", "& c #6E728B", "T c #DCDCDE", "4. c #3A445D", "7. c #3A445F", "%. c #5D6371", "1 c #3040ED", ", c #3040EE", "v c #010300", "z c #010302", "w. c #56626E", "5 c #303DEC", "e. c #9EA0AC", "j c #010000", "8 c #2E40EA", "&. c #010004", "X. c #010005", "k c #010006", "h. c #A39EA5", "f. c #A3A1AF", "B c #5B6074", "6. c #36445F", "p c #333EEE", "; c #6F7082", "p. c #9FA4A8", "w c #3141EF", "E c #020403", "@. c #020100", "3 c #2F41EB", "*. c #020106", "o c #6B7380", "t c #3442EB", "#. c #39425F", "+ c #6B7388", "U c #000405", "Q c #393F59", "+. c #D9DAD5", "t. c #9D9EA3", "h c #000103", "J c #000105", "u. c #A2A2AA", "* c #707185", "9. c #3C465F", "q. c #3C4661", "$. c #9B9EA5", "> c #323FEE", "d c #4E658F", "C c #030200", "5. c #354566", "a c #3042EC", "` c #3A4660", "Y c #030207", ";. c #FFFDFE", "8. c #3A4362", " c None", "n c #010204", "x c #010206", "o. c #FDFDFF", "P c #9E9CA9", "X c #6A7184", "< c #3340EE", "y. c #A1A0A5", ">. c #A1A0A6", "% c #6D7582", "H c #040001", "[ c #040003", ",. c #5E606C", "@ c #6D7285", "L c #394764", "q c #52617E", "1. c #575F6C", "V c #020001", "S c #020003", "3. c #3E4861", "d. c #9F9DA8", "6 c #2F40EE", "g. c #9F9DAA", "# c #727391", "K c #000302", "$ c #707384", /* pixels */ " ", " ", " . X o O + @ # $ % & * = - ; ", " : > , < 1 2 3 4 5 2 6 7 8 9 0 ", " q w e , r t 6 y u i p a s d f ", " g h j h k l z x c v b n m M N ", " B V C Z A S D F G H h J K L P ", " I j l U Y T R c b E W W S Q ! ", " ~ V K ^ V / ( ) j _ W x J ` ' ", " ] S l ) [ l { W ) W ( } D | .", " ..v X.o.O.G +.h n J F j @.#.$.", " %.b c &.*.=.-.;.S W W l O.:.>.", " ,.l W @.R _ W z h D z G b <.P ", " 1.2.3.4.5.6.7.8.4.9.0.2.q.w.e.", " r.t.y.u.i.p.a.s.d.f.g.' .h.", " " }; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/config-mode-full.xpm0000644000175000017500000000103211573645305027130 0ustar rizlarizla/* XPM */ static char * mode_full_xpm[] = { "16 16 9 1", " c None", ". c #3B455E", "+ c #000000", "@ c #C1C1C1", "# c #9F9FA2", "$ c #8E8E8E", "% c #FFFFFF", "& c #666666", "* c #3C465E", " ", "..............+ ", ".@@@@@@@@@@@@@+#", ".@@@@@@@@@@@@@+#", ".$$$$$$$$$$$$$+#", ".%%%%%%%%%%%%%+#", ".%%&&&&&&&&%%%+#", "*%%%%%%%%%%%%%+#", "*%%&&&&&&&&%%%+#", ".%%%%%%%%%%%%%+#", ".%%&&&&&&&&%%%+#", ".%%%%%%%%%%%%%+#", ".%%%%%%%%%%%%%+#", ".++++++++++++++#", " ###############", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-info.xpm0000644000175000017500000000103211573645305025662 0ustar rizlarizla/* XPM */ static char * help_info_xpm[] = { "16 16 9 1", " c None", ". c #63669D", "+ c #505986", "@ c #5A6591", "# c #4C5381", "$ c #4A507F", "% c #3F4274", "& c #FFFFFF", "* c #333367", " ", " .+@@+. ", " #......# ", " $........$ ", " %....&&....% ", " ......&&...... ", " *............* ", " *....&&&.....* ", " *.....&&.....* ", " *.....&&.....* ", " ......&&...... ", " %...&&&&...% ", " $........$ ", " #......# ", " .+@@+. ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/config-mode-html.xpm0000644000175000017500000000101211573645305027130 0ustar rizlarizla/* XPM */ static char * mode_html_xpm[] = { "16 16 8 1", " c None", ". c #3B455E", "+ c #000000", "@ c #59B200", "# c #9F9FA2", "$ c #3F7F00", "% c #FFFFFF", "& c #3C465E", " ", "..............+ ", ".@@@@@@@@@@@@@+#", ".@@@@@@@@@@@@@+#", ".$$$$$$$$$$$$$+#", ".%%%%%%%%%%%%%+#", ".%%%%+%%+%%%%%+#", "&%%%%+%%+%%%%%+#", "&%%%%+%%+%%%%%+#", ".%%%%++++%%%%%+#", ".%%%%+%%+%%%%%+#", ".%%%%+%%+%%%%%+#", ".%%%%%%%%%%%%%+#", ".++++++++++++++#", " ###############", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/edit-bookmark.xpm0000644000175000017500000000113211573645305026532 0ustar rizlarizla/* XPM */ static char * edit_bookmark_xpm[] = { "16 15 14 1", " c None", ". c #6D4800", "+ c #FFD50E", "@ c #FEE671", "# c #FFE349", "$ c #FFDD2F", "% c #F3B800", "& c #FAC801", "* c #FFD91B", "= c #ECAA00", "- c #E2A32D", "; c #EEB001", "> c #303132", ", c #F0BA16", " ", " . ", " . ", " .+. ", " .@. ", " .....#$#..... ", " .%&+***+&=-=. ", " .%$+&=%=. ", " .#*&;=. ", " .#*;&;> ", " .@*>>>,%> ", " .*> >%> ", " .@> >%> ", " .> >> ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/file-open.xpm0000644000175000017500000000724211573645305025670 0ustar rizlarizla/* XPM */ static char * file_open_xpm[] = { "16 16 182 2", " c None", ". c #6D7290", "+ c #6F7186", "@ c #6C728A", "# c #6E7387", "$ c #717286", "% c #6D7285", "& c #6C7386", "* c #6C7489", "= c #6D7687", "- c #6F6F87", "; c #6D7486", "> c #F9FDFE", ", c #FEFFFF", "' c #FEFCFD", ") c #FFFFFD", "! c #FEFEFE", "~ c #FFFFFF", "{ c #DFE0E5", "] c #37383C", "^ c #875B02", "/ c #FFFDFF", "( c #FDFFFE", "_ c #ECEFFE", ": c #DEDFE3", "< c #363634", "[ c #845C04", "} c #9C6500", "| c #FFFBE2", "1 c #FFFEFC", "2 c #FFFEFF", "3 c #EDEFFE", "4 c #F0EFFF", "5 c #DFE0E2", "6 c #36353A", "7 c #FFFEE0", "8 c #875904", "9 c #966602", "0 c #FEFF99", "a c #717388", "b c #FEFDFF", "c c #FEFEFC", "d c #FEFFFA", "e c #FAFFFB", "f c #F1F0FF", "g c #EAF0FC", "h c #DCE0DF", "i c #C9D2DB", "j c #37383D", "k c #FDFF99", "l c #6A4801", "m c #A09DA6", "n c #895A00", "o c #FFDF7C", "p c #5A626F", "q c #FBFFFC", "r c #F0EDFE", "s c #DFDEE4", "t c #DEDFE1", "u c #C9D2D7", "v c #C8D1D6", "w c #C9D4D8", "x c #CCD0D9", "y c #454442", "z c #FFFD99", "A c #333132", "B c #A3A49F", "C c #996801", "D c #986701", "E c #9D6602", "F c #9F6400", "G c #9C6700", "H c #9D6300", "I c #996802", "J c #9E6400", "K c #996400", "L c #9C6604", "M c #966902", "N c #C8D2DB", "O c #43443E", "P c #FDE078", "Q c #2D322E", "R c #9DA1A2", "S c #986700", "T c #FFFDFE", "U c #FEFEFF", "V c #FFFFFB", "W c #474246", "X c #FEDD7C", "Y c #30312C", "Z c #9F9EA4", "` c #996500", " . c #F8E46B", ".. c #F7E46B", "+. c #F8E56C", "@. c #F9E56A", "#. c #FAE268", "$. c #F4DF62", "%. c #F7DF63", "&. c #F6DE60", "*. c #6D4601", "=. c #424645", "-. c #FDDF7C", ";. c #2E3235", ">. c #A29DA1", ",. c #9C6701", "'. c #F7E569", "). c #FBE369", "!. c #FBE26C", "~. c #F8E062", "{. c #F5DC5B", "]. c #F4DB5A", "^. c #F2D958", "/. c #F4D654", "(. c #F1D54E", "_. c #6E4902", ":. c #FFE07D", "<. c #343237", "[. c #A19FA2", "}. c #6D4900", "|. c #F9E36B", "1. c #F7E265", "2. c #F4DF60", "3. c #F6DF5F", "4. c #F6DA5C", "5. c #F4D755", "6. c #F2D450", "7. c #F0D44C", "8. c #F2D345", "9. c #EFCD45", "0. c #9D6800", "a. c #313131", "b. c #A09DA4", "c. c #6D4804", "d. c #F7DB5D", "e. c #F3DB57", "f. c #F3D752", "g. c #F4D350", "h. c #F2D249", "i. c #F3CE49", "j. c #EECD42", "k. c #F0CB3C", "l. c #EFC83D", "m. c #EEC839", "n. c #6E4608", "o. c #333331", "p. c #A1A0A5", "q. c #6D4801", "r. c #F3D750", "s. c #F1D44A", "t. c #F1D14A", "u. c #F3CF45", "v. c #EFCA3D", "w. c #EDC937", "x. c #EDC738", "y. c #EDC736", "z. c #EEC73B", "A. c #6E4601", "B. c #323137", "C. c #A0A0A2", "D. c #6E4A00", "E. c #523700", "F. c #553703", "G. c #323234", "H. c #313332", "I. c #353034", "J. c #303135", "K. c #2C3033", "L. c #2F3332", "M. c #313234", "N. c #312F32", "O. c #956801", "P. c #A0A0A0", "Q. c #A09EA1", "R. c #A19FA4", "S. c #A49FA5", "T. c #A39EA2", "U. c #A1A09E", "V. c #A09FA5", "W. c #9EA2A3", "X. c #9F9DA0", "Y. c #A1A3A2", " ", " . + @ # $ % & * = - ", " ; > , ' ) ! ) ~ { ] ", " ^ ; ~ / ! ! ( ~ _ : < [ ", " } | ; ! 1 ) 1 2 3 4 5 6 7 8 ", " 9 0 a b c d e f g h i j k l m ", " n o p q r s t u v w x y z A B ", "C D E F G H I J K L M N O P Q R ", "S / ~ c 1 T U ) ! 1 V J W X Y Z ", "` / ... .+.@.#.$.%.&.*.=.-.;.>.", " ,.'. .).!.~.{.].^./.(._.:.<.[.", " }.|.1.2.3.4.5.6.7.8.9.*.0.a.b.", " c.d.e.f.g.h.i.j.k.l.m.n.o.p.", " q.r.s.t.u.j.v.w.x.y.z.A.B.C.", " D.E.F.G.H.I.J.K.L.M.N.O.P.", " Q.R.P.S.T.U.V.S.W.X.Y.R."}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/note.xpm0000644000175000017500000000146611573645305024761 0ustar rizlarizla/* XPM */ static char * edit_xpm[] = { "16 16 27 1", " c None", ". c #3B455E", "+ c #000000", "@ c #FFFFFF", "# c #00C93C", "$ c #5ECB25", "% c #FFFE9C", "& c #32660D", "* c #2A981B", "= c #FEFECC", "- c #FFC99A", "; c #FF9623", "> c #9F9FA2", ", c #9B6614", "' c #525109", ") c #EDF0F4", "! c #FEFEFE", "~ c #F0D5C5", "{ c #E5EAF0", "] c #DDE3EB", "^ c #D4DBE5", "/ c #CCD5E1", "( c #FBFBFC", "_ c #C4CFDC", ": c #BECAD9", "< c #F5F6F9", "[ c #BAC6D6", " ", " .......... ++ ", " .@@@@@@@@@+#$+ ", " .@@@@@@@@+%&*&+", " .@@@@@@@+=-;&+>", " .@@@@@@+%-;,+> ", " .@@@@@+=-;,+> ", " .@@@@+%-;,+>> ", " .@@@+=-;,+>+> ", " .@@+=';,+>)+> ", " .@@+!~++>{]+> ", " .@@+++>>]^/+> ", " .@(>>>]^/_:+> ", " .<){]^/_:[[+> ", " .+++++++++++> ", " >>>>>>>>>>>> "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/go-last.xpm0000644000175000017500000000071211573645305025353 0ustar rizlarizla/* XPM */ static char * find_last_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " . ", " .. . ", " .+. . ", " . .....++. . ", " . .+++++++. . ", " . .@@@@@@@. . ", " . .....@@. . ", " .@. . ", " .. . ", " . ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/go-next.xpm0000644000175000017500000000071411573645305025370 0ustar rizlarizla/* XPM */ static char * search_next_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " ", " .. ", " .+. ", " .......++. ", " .+++++++++. ", " .@@@@@@@@@. ", " .......@@. ", " .@. ", " .. ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/replace-next.xpm0000644000175000017500000000071511573645305026377 0ustar rizlarizla/* XPM */ static char * replace_next_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #DADADA", " ", " ", " ", " ", " .. .. . ", " .+. .+. . ", " .++.....++. . ", ".+++++++++++. .", ".@@@@@@@@@@@. .", " .@@.....@@. . ", " .@. .@. . ", " .. .. . ", " ", " ", " ", " "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/help-home.xpm0000644000175000017500000000211311573645305025660 0ustar rizlarizla/* XPM */ static char * help_home_xpm[] = { "16 16 44 1", " c None", ". c #3B455E", "+ c #020000", "@ c #E50000", "# c #100303", "$ c #8288AC", "% c #E79755", "& c #E30000", "* c #0D0202", "= c #DF0000", "- c #D70000", "; c #CE0000", "> c #130303", ", c #3D455E", "' c #DC0000", ") c #D30000", "! c #C90000", "~ c #C00000", "{ c #B80000", "] c #1F0606", "^ c #3C455E", "/ c #C40000", "( c #BB0000", "_ c #B40000", ": c #B20000", "< c #0A0202", "[ c #010000", "} c #FFFFFF", "| c #210707", "1 c #9F9FA2", "2 c #FFFEFE", "3 c #3F7F00", "4 c #FFFCFB", "5 c #FFFDFD", "6 c #FDFAF1", "7 c #CCDCB8", "8 c #FDF9F1", "9 c #FFFFFE", "0 c #000000", "a c #010101", "b c #0B0B08", "c c #12120E", "d c #0C0B09", "e c #040403", " .+ ", " .@@# $.. ", " .@%@&*$.. ", " .@%@=-;>,. ", " .@%&')!~{]^ ", " .@%=-;/(_::< ", " .@&')!~{:::::[ ", "...}}}}}}}}}}|+.", " .}}}}}}}}}}<1 ", " .2}}3333245[1 ", " .}6}377389}01 ", " .}}}3773}}}01 ", " .}}}3773}}}01 ", " .}}}3773}}}01 ", " .00abcde00001 ", " 111111111111 "}; kephra-0.4.3.32+dfsg.orig/share/config/interface/icon/set/jenne/colorpicker.xpm0000644000175000017500000000671011573645305026325 0ustar rizlarizla/* XPM */ static const char *colorpicker_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 177 2", "<. c #EA0200", "5. c #FCFEFD", "W. c #A2A1A6", "F. c #010255", "Q. c #A2A1A7", "2. c #E25543", "W c #5A6374", "V. c #060354", "( c #5A606E", "x. c #7F0301", "_. c #A0A1A3", "U. c #A0A1A6", "p c #8EA6FE", "n. c #FFFFFA", "] c #FFFFFB", "8 c #FFFFFD", "6 c #FFFFFF", "t c #76B236", "L. c #020650", "M. c #FFFCFB", "u. c #E60201", "} c #FFFCFF", "_ c #F1FAE7", "E c #428100", "k c #88CB4A", "Y. c #9EA1A6", "H. c #09014E", "T. c #9EA1A8", "Q c #5B646D", "2 c #FDFFFC", "G. c #020355", "q. c #E9A400", "' c #FDFFFE", "n c #A8BEFA", "N c #000652", "- c #5B616F", "B. c #A1A2A4", "(. c #A1A2A6", "d c #596174", ": c #5E626E", "c. c #050156", "s c #8DA7FC", "6. c #030454", "7 c #FEFDFB", "= c #5C6270", "@ c #5C6272", "&. c #010451", "E. c #A2A3A8", "7. c #A2A0A3", "L c #5A626F", "Y c #3F8200", "a c #89A7FF", "$. c #F34509", "P. c #060257", ">. c #FEDE35", "I c #A0A0A8", "!. c #9EA39F", ") c #FFFEF9", "s. c #FFFEFC", "g c #040255", "N. c #040256", "F c #FFFEFF", "/. c #9EA09F", "o. c #F7C800", "R c #428001", ". c #5D6071", "T c #3B8200", "q c #5D6073", "> c #FDFEFF", "C. c #00054F", "b c #A8BDFC", "~ c #5B6376", "m c #A8BDFF", ":. c #FADB32", "K. c #000556", "~. c #A1A19F", "% c #5B6073", "=. c #5B6074", "S. c #000255", "z. c #800000", "k. c #800001", "z c #8BCB50", "4. c #800003", "-. c #ECA402", "0 c #9FA4A8", "b. c #596073", "J c #517CFE", "D c #3E8004", "g. c #8B6100", ".. c #EAA700", "0. c #EAA701", "l c #89CB4F", "G c #4F7FFF", "< c #FEFFFA", "u c #FEFFFB", "e. c #FEFFFD", "w c #7DC032", "d. c #8B5E01", "v. c #A4A2A7", ", c #FEFFFF", "U c #5C6471", "y. c #EC0000", "/ c #9DA1A4", "^ c #080459", "o c #5C6174", "i. c #7C0000", "). c #A2A2A2", "J. c #010356", "f c #FCFFFF", "A. c #010358", "p. c #06044F", "9. c #E8A403", "%. c #810102", "+. c #EA0000", "I. c #A29FA6", "Z. c #060457", "f. c #8E5F03", "V c #5A6171", "! c #615F75", "K c #527DFF", "h. c #8C5F01", "Z c #7EC133", "A c #7EC136", "& c #586172", "@. c #F14408", "{ c #FFFDFE", "4 c #FFFDFF", "; c #040158", "v c #557EFE", "X c #5D6275", ",. c #8A5F00", " c None", "$ c #5B6571", "M c #5D5F74", "c c #FDFDFB", "1 c #FDFDFD", "m. c #FDFDFF", "8. c #EEA602", "1. c #E35444", "r c #74B33E", ";. c #FFDE2F", "a. c #9C9FA6", "C c #7AC135", "w. c #8F5D06", "#. c #F4450E", "` c #FBFDF8", "l. c #800203", "r. c #E90100", "9 c #000153", "R. c #A1A0A5", "j. c #8D6002", " . c #A1A0A6", "S c #7FC234", "i c #517EFD", "# c #596273", "P c #050253", "h c #9FA3A2", "B c #9FA3A6", "y c #3E7F01", "D. c #030552", "X. c #F8C802", "x c #438001", "* c #5C6670", "O. c #8B6004", "H c #4F7EFF", "[ c #FEFEFC", "^. c #9DA3A3", "t. c #EC0203", "j c #FEFEFE", "3 c #FEFEFF", "*. c #A4A1A8", "3. c #E45545", "+ c #5C6373", "O c #5C6375", "| c #060650", "5 c #FCFEF9", "e c #75AE39", /* pixels */ " ", ". X o O + @ # . $ % & * = - ; ", ": > , < 1 2 3 4 < 5 6 7 8 6 9 0 ", "q 1 w e r t y u i p a s d f g h ", "+ j w k l z x c v b n m M 4 N B ", "V 8 C Z A S D F G H J K L 6 P I ", "U 3 Y y T R E 6 W Q ! ~ @ 5 ^ / ", "( ) , j 3 3 _ ` ' ] [ { } f | .", "= 2 ..X.X.o.O.> +.@.#.$.%.8 &.*.", "=.[ -.;.:.>.,., <.1.2.3.4.5.6.7.", "W > 8.9.0.q.w.e.r.t.y.u.i.6 p.a.", "= s.d.f.g.h.j.8 %.k.l.z.x.[ c.v.", "b.6 n.m., F } ' 3 u { 3 M.j N.B.", ". V.C.Z.A.S.D.F.G.H.J.g K.L.P.I.", " U.Y.T.R.E.W.Q.!.~.^./. .(.)._.", " " }; kephra-0.4.3.32+dfsg.orig/share/config/session/0000755000175000017500000000000011633700043020144 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/session/current.yaml0000644000175000017500000000671311602234733022525 0ustar rizlarizla--- current_nr: 0 document: - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 573 edit_pos: 3003 file_path: '/home/lichtkind/txt/artikel/heise/Moose.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: auto - EOL: auto codepage: 8bit config_file: ~ cursor_pos: 296 edit_pos: 296 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 429 edit_pos: 428 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App/Window.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: auto codepage: 8bit config_file: ~ cursor_pos: 474 edit_pos: 904 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App/TabBar.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 717 edit_pos: 890 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App/EditPanel.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: auto codepage: 8bit config_file: ~ cursor_pos: 1504 edit_pos: 932 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App/Helper.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 207 edit_pos: 206 file_path: '/home/lichtkind/code/perl/project/editor/dev/xp/Kephra/lib/Kephra/App/Menu.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 0 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 11025 edit_pos: 11027 file_path: '/home/lichtkind/txt/artikel/$foo/wxperl-tut_8.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 0 - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 18548 edit_pos: 18548 file_path: '/home/lichtkind/txt/artikel/$foo/wxperl-tut_7.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 0 - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 8706 edit_pos: 7456 file_path: '/home/lichtkind/txt/artikel/$foo/wxperl-tut_6.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 1 - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 0 edit_pos: '-1' file_path: '/home/lichtkind/txt/artikel/$foo/wxperl-tut_5.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 1 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 4938 edit_pos: '-1' file_path: '/home/lichtkind/txt/artikel/$foo/wxperl-tut_4.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 0 kephra-0.4.3.32+dfsg.orig/share/config/session/history.yml0000644000175000017500000000726111602234733022402 0ustar rizlarizla--- document: - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 8966 edit_pos: 703 file_path: '/home/lichtkind/txt/artikel/$foo/perl6_up4.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 0 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 0 edit_pos: 6887 file_path: '/home/lichtkind/txt/artikel/$foo/rezension-klassik.txt' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: auto - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 13141 edit_pos: '-1' file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/File.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 205 edit_pos: 205 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/Changes' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: none tab_size: 4 tab_use: 0 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 182 edit_pos: 181 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 0 edit_pos: 99 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/META.yml' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: yaml tab_size: 4 tab_use: 0 - EOL: auto codepage: utf8 config_file: ~ cursor_pos: 0 edit_pos: 1817 file_path: '/home/lichtkind/code/perl/project/trigon/src/Trigon.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: cr+lf codepage: utf8 config_file: ~ cursor_pos: 9706 edit_pos: 1568 file_path: '/home/lichtkind/code/perl/project/trigon/src/wxtrigon.pl' folded_lines: [] marked_lines: - 184 readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 2251 edit_pos: 2251 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/Dialog.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 2663 edit_pos: 2663 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/File/History.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 2711 edit_pos: '-1' file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/File/IO.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 0 edit_pos: 7278 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/File/Session.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 - EOL: lf codepage: utf8 config_file: ~ cursor_pos: 4099 edit_pos: 4099 file_path: '/home/lichtkind/code/perl/project/wx/Kephra/lib/Kephra/ToolBar.pm' folded_lines: [] marked_lines: [] readonly: protect syntaxmode: perl tab_size: 4 tab_use: 1 kephra-0.4.3.32+dfsg.orig/share/config/syntaxmode/0000755000175000017500000000000011633700043020654 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/syntaxmode/perl.conf0000644000175000017500000001337311573645307022512 0ustar rizlarizla ID = perl name = Perl rants = tab_size = 4 tab_use = 1 ID = wxSTC_LEX_PERL bracelight = ()[]{} keywords = < 1 = fore:\#ff0000; Error 2 = fore:\#aaaaaa; Comment 3 = fore:\#004000,back:\#E0FFE0,eolfilled; POD 4 = 5 = 6 = 7 = 8 = ; Symbols / Punctuation. Currently not used 9 = ; Preprocessor. Currently not used 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17 = 18 = 19 = 20 = 21 = 22 = 23 = 24 = 25 = 26 = 27 = 28 = 29 = 30 = wordchars = # $_[0]->StyleSetSpec( wxSTC_H_TAG, "fore:#000055" ); # Apply tag style for selected lexer (blue) $_[0]->StyleSetSpec(3,"fore:#004000,back:#E0FFE0,$(font.text),eolfilled"); # POD $_[0]->StyleSetSpec(4,"fore:#007f7f"); # Number $_[0]->StyleSetSpec(5,"fore:#000077,bold"); # Keywords $_[0]->StyleSetSpec(6,"fore:#ee7b00,back:#fff8f8"); # Doublequoted string $_[0]->StyleSetSpec(7,"fore:#f36600,back:#fffcff"); # Single quoted string $_[0]->StyleSetSpec(8,"fore:#555555"); # $_[0]->StyleSetSpec(10,"fore:#002200"); # Operators $_[0]->StyleSetSpec(11,"fore:#3355bb"); # Identifiers (functions, etc.) $_[0]->StyleSetSpec(12,"fore:#228822"); # Scalars: $var $_[0]->StyleSetSpec(13,"fore:#339933"); # Array: @var $_[0]->StyleSetSpec(14,"fore:#44aa44"); # Hash: %var $_[0]->StyleSetSpec(15,"fore:#55bb55"); # Symbol table: *var $_[0]->StyleSetSpec(17,"fore:#000000,back:#A0FFA0"); # Regex: /re/ or m{re} $_[0]->StyleSetSpec(18,"fore:#000000,back:#F0E080"); # Substitution: s/re/ore/ $_[0]->StyleSetSpec(19,"fore:#000000,back:#8080A0"); # Long Quote (qq, qr, qw, qx) -- obsolete: replaced by qq, qx, qr, qw $_[0]->StyleSetSpec(20,"fore:#ff7700,back:#f9f9d7"); # Back Ticks $_[0]->StyleSetSpec(21,"fore:#600000,back:#FFF0D8,eolfilled"); # Data Section: __DATA__ or __END__ at beginning of line $_[0]->StyleSetSpec(22,"fore:#000000,back:#DDD0DD"); # Here-doc (delimiter) $_[0]->StyleSetSpec(23,"fore:#7F007F,back:#DDD0DD,eolfilled,notbold"); # Here-doc (single quoted, q) $_[0]->StyleSetSpec(24,"fore:#7F007F,back:#DDD0DD,eolfilled,bold"); # Here-doc (double quoted, qq) $_[0]->StyleSetSpec(25,"fore:#7F007F,back:#DDD0DD,eolfilled,italics"); # Here-doc (back ticks, qx) $_[0]->StyleSetSpec(26,"fore:#7F007F,$(font.monospace),notbold"); # Single quoted string, generic $_[0]->StyleSetSpec(27,"$(style.perl.6)"); # qq = Double quoted string $_[0]->StyleSetSpec(28,"$(style.perl.20)"); # qx = Back ticks $_[0]->StyleSetSpec(29,"$(style.perl.17)"); # qr = Regex $_[0]->StyleSetSpec(30,"fore:#f36600,back:#fff8f8"); # qw = Array debug = no compile = no block = \#~ box = \#~ stream = no run = tidy = no kephra-0.4.3.32+dfsg.orig/share/config/template/0000755000175000017500000000000011633700043020274 5ustar rizlarizlakephra-0.4.3.32+dfsg.orig/share/config/template/perl.conf0000644000175000017500000000115611573645307022126 0ustar rizlarizla