From 6dd004939f9a8750b84cb21e3fb5e469111d47f8 Mon Sep 17 00:00:00 2001 From: igor Date: Fri, 10 Apr 2026 15:40:20 -0700 Subject: [PATCH] Initial commit. --- .bashrc | 34 ++ .gitconfig | 7 + .gitignore | 1 + .lldbinit | 8 + .tmux.conf | 57 ++ .vimrc | 95 ++++ focus-editor/global.focus-config | 527 ++++++++++++++++++ .../projects/Example Project.focus-config | 58 ++ focus-editor/themes/basic-light.focus-theme | 93 ++++ .../themes/everforest-hard.focus-theme | 94 ++++ focus-editor/themes/gruber-darker.focus-theme | 94 ++++ focus-editor/themes/gruvbox-flat.focus-theme | 93 ++++ focus-editor/themes/halogen.focus-theme | 93 ++++ focus-editor/themes/handmade-hero.focus-theme | 96 ++++ .../themes/jblow-nostalgia.focus-theme | 93 ++++ focus-editor/themes/jblowtorch.focus-theme | 92 +++ focus-editor/themes/nord-midnight.focus-theme | 92 +++ focus-editor/themes/nord.focus-theme | 92 +++ .../themes/solarized-dark.focus-theme | 92 +++ .../themes/spacemacs-light.focus-theme | 92 +++ focus-editor/themes/steel-breeze.focus-theme | 93 ++++ .../themes/tokyo-night-light.focus-theme | 93 ++++ focus-editor/themes/tokyo-night.focus-theme | 93 ++++ focus-editor/themes/zenburn.focus-theme | 94 ++++ gf2_config.ini | 14 + ghostty/config | 40 ++ link.sh | 18 + nvim/init.vim | 94 ++++ ssh_config | 16 + .../fn_lock_server.service | 1 + .../gpu-screen-recorder-ui.service | 1 + .../default.target.wants/syncthing.service | 1 + systemd/user/fn_lock_server.service | 10 + systemd/user/syncthing.service | 27 + xournalpp/palette.gpl | 14 + xournalpp/plugins/xournal-keys/main.lua | 282 ++++++++++ xournalpp/plugins/xournal-keys/plugin.ini | 15 + xournalpp/settings.xml | 315 +++++++++++ xournalpp/toolbar.ini | 44 ++ 39 files changed, 3168 insertions(+) create mode 100644 .bashrc create mode 100644 .gitconfig create mode 100644 .gitignore create mode 100644 .lldbinit create mode 100644 .tmux.conf create mode 100644 .vimrc create mode 100644 focus-editor/global.focus-config create mode 100644 focus-editor/projects/Example Project.focus-config create mode 100644 focus-editor/themes/basic-light.focus-theme create mode 100644 focus-editor/themes/everforest-hard.focus-theme create mode 100644 focus-editor/themes/gruber-darker.focus-theme create mode 100644 focus-editor/themes/gruvbox-flat.focus-theme create mode 100644 focus-editor/themes/halogen.focus-theme create mode 100644 focus-editor/themes/handmade-hero.focus-theme create mode 100644 focus-editor/themes/jblow-nostalgia.focus-theme create mode 100644 focus-editor/themes/jblowtorch.focus-theme create mode 100644 focus-editor/themes/nord-midnight.focus-theme create mode 100644 focus-editor/themes/nord.focus-theme create mode 100644 focus-editor/themes/solarized-dark.focus-theme create mode 100644 focus-editor/themes/spacemacs-light.focus-theme create mode 100644 focus-editor/themes/steel-breeze.focus-theme create mode 100644 focus-editor/themes/tokyo-night-light.focus-theme create mode 100644 focus-editor/themes/tokyo-night.focus-theme create mode 100644 focus-editor/themes/zenburn.focus-theme create mode 100644 gf2_config.ini create mode 100644 ghostty/config create mode 100755 link.sh create mode 100644 nvim/init.vim create mode 100644 ssh_config create mode 120000 systemd/user/default.target.wants/fn_lock_server.service create mode 120000 systemd/user/default.target.wants/gpu-screen-recorder-ui.service create mode 120000 systemd/user/default.target.wants/syncthing.service create mode 100644 systemd/user/fn_lock_server.service create mode 100644 systemd/user/syncthing.service create mode 100644 xournalpp/palette.gpl create mode 100644 xournalpp/plugins/xournal-keys/main.lua create mode 100644 xournalpp/plugins/xournal-keys/plugin.ini create mode 100644 xournalpp/settings.xml create mode 100644 xournalpp/toolbar.ini diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..ebbc92a --- /dev/null +++ b/.bashrc @@ -0,0 +1,34 @@ +# .bashrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +# User specific environment +if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then + PATH="$HOME/.local/bin:$HOME/bin:$PATH" +fi +export PATH + +# Uncomment the following line if you don't like systemctl's auto-paging feature: +# export SYSTEMD_PAGER= + +# User specific aliases and functions +if [ -d ~/.bashrc.d ]; then + for rc in ~/.bashrc.d/*; do + if [ -f "$rc" ]; then + . "$rc" + fi + done +fi +unset rc + +#### USER DEFINED ######################################################### + +alias vi="gvim -v" +alias fedora="distrobox-enter fedora" + +. "$HOME/.local/share/../bin/env" + +export PATH="$HOME/.local/share/bin:$PATH" diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..d464973 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,7 @@ +[user] + name = igor + email = igor@kolokolnikov.net +[alias] + lg = log --oneline --decorate --graph --all --parents +[pull] + rebase = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/.lldbinit b/.lldbinit new file mode 100644 index 0000000..e96bc4f --- /dev/null +++ b/.lldbinit @@ -0,0 +1,8 @@ +settings set auto-confirm true + +settings set use-color true + +settings set stop-line-count-before 15 +settings set stop-line-count-after 15 + +settings set stop-disassembly-count 20 diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..f15fc04 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,57 @@ +set -g default-terminal "xterm-256color" +set -ga terminal-overrides ",*256col*:Tc" + +set -g prefix C-s +unbind C-b +bind-key C-s send-prefix + +# unbind % +# bind | split-window -h +# +# unbind '"' +# bind - split-window -v + +unbind r +bind r source-file ~/.tmux.conf + +# bindkey \^K kill-line +# bind -n C-k clear-history + +set -g history-limit 100000 +set -s escape-time 0 +set -g focus-events on +set -g display-time 4000 +set -g status-interval 5 +#set -g status-keys emacs + +setw -g mode-keys vi + +bind '"' split-window -c "#{pane_current_path}" +bind % split-window -h -c "#{pane_current_path}" +bind c new-window -c "#{pane_current_path}" + +set-option -g renumber-windows on + +# set -g mouse on +bind-key -T copy-mode-vi 'v' send -X begin-selection +bind-key -T copy-mode-vi 'y' send -X copy-pipe "pbcopy" # pbcopy is MacOS specific +unbind -T copy-mode-vi MouseDragEnd1Pane + +bind-key K clear-history + +bind-key H swap-window -t -1 +bind-key L swap-window -t +1 +bind-key -T prefix C-o select-pane -t :.+ + +bind-key h select-pane -L +bind-key j select-pane -D +bind-key k select-pane -U +bind-key l select-pane -R + +bind-key -r Up resize-pane -U 2 +bind-key -r Down resize-pane -D 2 +bind-key -r Left resize-pane -L 2 +bind-key -r Right resize-pane -R 2 + +bind -r m resize-pane -Z +set -g message-style 'fg=#D74E42 bg=#0D1117 bold' diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..840243d --- /dev/null +++ b/.vimrc @@ -0,0 +1,95 @@ +filetype plugin indent on +syntax off + +"colorscheme wildcharm +colorscheme habamax + +set nobackup nowritebackup +set noswapfile + +set number + +set tabstop=4 +set shiftwidth=4 +set softtabstop=4 +set expandtab +set autoindent +set smarttab + +set mouse=a + +set laststatus=2 + +set scrolloff=5 + +set ignorecase +set hlsearch +set incsearch + +set wrap! + +set timeoutlen=1000 +set ttimeoutlen=0 +set hidden +set wildmenu +set clipboard=unnamed,unnamedplus +set colorcolumn=75 +"set backspace=indent,eol,start + +set updatetime=100 +set signcolumn=auto + +:nnoremap K + +:vnoremap > >:normal gv +:vnoremap < <:normal gv + +:vnoremap J :m '>+1gv=gv +:vnoremap K :m '<-2gv=gv + +:nnoremap H :bnextzz +:nnoremap L :bprevzz + +:nnoremap , :copen +:nnoremap > :cn +:nnoremap < :cp + +:nnoremap \\ :noh + +:nnoremap E :Ex + +:nnoremap z :set relativenumber +:nnoremap x :set norelativenumber + +xnoremap p "_dP + +:nnoremap gb :make + +:nnoremap gw :bdelete + +" Align regex +command! -nargs=? -range Align ,call AlignSection('') +vnoremap a :Align +function! AlignSection(regex) range + let extra = 1 + let sep = empty(a:regex) ? '=' : a:regex + let maxpos = 0 + let section = getline(a:firstline, a:lastline) + for line in section + let pos = match(line, ' *'.sep) + if maxpos < pos + let maxpos = pos + endif + endfor + call map(section, 'AlignLine(v:val, sep, maxpos, extra)') + call setline(a:firstline, section) +endfunction + +function! AlignLine(line, sep, maxpos, extra) + let m = matchlist(a:line, '\(.\{-}\) \{-}\('.a:sep.'.*\)') + if empty(m) + return a:line + endif + let spaces = repeat(' ', a:maxpos - strlen(m[1]) + a:extra) + return m[1] . spaces . m[2] +endfunction diff --git a/focus-editor/global.focus-config b/focus-editor/global.focus-config new file mode 100644 index 0000000..7f4df6f --- /dev/null +++ b/focus-editor/global.focus-config @@ -0,0 +1,527 @@ +[16] # Version number. Do not delete. + +[[workspace]] +# These directories and files will be scanned when a workspace is opened so that search etc. works. +# Example: +# C:/projects/my-project # <- the first directory in the list becomes the working directory +# C:/jai +# src # <- this would be relative to the config file location + +[ignore] +# Files and directories matching the following wildcards will not be loaded or descended into +# Example: +# *.js - will ignore all files with a '.js' extension +# tmp* - will ignore any files or directories which start with 'tmp' +# C:/project/dirname/** - will ignore everything under `dirname` +# C:/project/dirname/* - will ignore all files under `dirname`, but not recursively +.svn +.git + +[allow] +# Files and directories matching the wildcards in this section will be loaded, even if they are ignored in the previous section. +# NOTE: known binary file extensions are ignored by default (*.exe, *.obj etc.). If this is not what you want, you can explicitly allow them here. + +[file associations] +# Optional file associations in the format ` ... : ` +# Example: +# *.hpp *.hh *.h : cpp +# todo.txt : todo + + +[[settings]] + +maximize_on_start: false +open_on_the_biggest_monitor: false +cursor_as_block: false +cursor_blink_time_in_seconds: 5 +highlight_selection_occurrences: true +highlight_line_with_cursor: false +highlight_matching_brackets: false +show_paste_effect: true +disable_file_open_close_animations: false +double_shift_to_search_in_workspace: false +strip_trailing_whitespace_on_save: except_lines_with_cursor # options: all, except_lines_with_cursor, disabled +smooth_scrolling: true +scroll_beyond_last_line: true +line_height_scale_percent: 120 +max_editor_width: -1 +can_cancel_go_to_line: true +copy_whole_line_without_selection: false +editor_history_size: 1024 +line_wrap_is_on_by_default: false +show_line_numbers: false +show_ruler_at_column: 75 +colored_titlebar: true # Windows 11+ only +dark_titlebar: false # Windows only +hide_mouse_when_typing: false +draw_indent_guides: false +auto_surround_with_brackets_and_quotes: false +auto_close_brackets: false +prefer_system_file_dialogs: false # Windows only +persist_local_search_results: false # if true, search results will stay highlighted and you have to dismiss them using the `escape` action +load_most_recent_project_on_start: true +projects_sorting_order: most_recent_first + +build_panel_stays_in_one_place: false # if false, the build panel will flip to the inactive pane in two pane layouts +build_panel_line_wrap_always_on: true +build_panel_width_percent: 50 +build_panel_height_percent: 50 + +save_all_file_backed_buffers_on_build: false +save_current_buffer_on_build: false + +color_preview_popup: enabled # options: enabled, minimized, disabled +search_is_case_sensitive_when_uppercase_present: true + +detect_indentation: true +indent_using: spaces +tab_size: 4 + +status_bar_position: bottom # options: top, bottom +status_bar_show_cursors_off_screen: true +status_bar_show_line_col: true +status_bar_show_indentation: true +status_bar_show_selected_text_length: false + +show_scrollbar_marks: true +scrollbar_width_scale: 1.0 +scrollbar_min_opacity: 0.0 # if you want the scrollbar to be always visible, set this to 1.0 +scrollbar_max_opacity: 1.0 +scrollbar_fade_in_sensitivity: 10.0 # controls when the scrollbar appears as the mouse pointer gets close +scrollbar_fade_out_delay_seconds: 2.0 # how long the scrollbar stays visible after scrolling + +# NOTE: some settings can be specified for a subset of files, based on their language or a wildcard, +# for example: +# [file: , , ...] +# [lang: golang, cpp, c, ...] + +[file: *.md, *.txt] +line_wrap_is_on_by_default: true +draw_indent_guides: false + + +# Below is an example configuration for build commands +# (uncomment and modify to use) + +# [[build commands]] +# build_working_dir: # <- paths relative to the workspace working dir (the first one in the list) are allowed +# open_panel_on_build: true # <- any settings specified here will apply to all commands unless overridden +# close_panel_on_success: false +# clear_build_output_before_running: false +# error_regex: # see examples below +# auto_jump_to_error: false + +# [Debug Build And Run] # <- command name. Can be arbitrary +# build_command: jai main.jai # should be an executable or a script +# build_working_dir: +# timeout_in_seconds: 5 # if you don't want a timeout, don't specify it +# run_command: test.exe # will be run if build succeeds +# run_working_dir: W:/focus # working dir for the run command +# key_binding: F5 + +# [Run] # <- You could have commands that don't build anything and just run something +# run_command: test +# run_working_dir: /home/user/test +# key_binding: Ctrl-F5 + +# [Release] +# build_command: jai first.jai - release +# key_binding: F9 + + +# Example error regexes: +# For jai: ^(?P.*):(?P\d+),(?P\d+): (?PError|Warning|Info|...):* (?P.*)|^(?P.*error LNK.*) +# For msvc: ^(?P.*)\((?P\d+),?(?P\d+)?\)[ ]?: (?Perror|warning) (?P.*)$ +# For golang: ^(?P.*):(?P\d+):(?P\d+): (?P.*)$ +# For gcc: ^(?P.*):(?P\d+):(?P\d+): (?Perror|warning): (?P.*) (\[(?P.*)\])?$ +# ... let us know what regex works for you and we'll add it here + +# NOTE: +# You can use the following variables in build commands: +# %FILE% - full path to currenly active file +# %FILE_DIR% - the directory of the currently active file +# %FILE_NAME% - current file name, with extension +# %FILE_NAME_NO_EXTENSION% - current file name, without extension +# %BUILD_WORKING_DIR% - working dir of the build command +# %RUN_WORKING_DIR% - working dir of the run command +# %PROJECT_CONFIG_DIR% - the dir containing the active project config file + + +[[keymap]] + +# - The first matching combination will be used, so order matters + +[editors] # <- this means that the following key combos will apply only when editing text + +# Key combination Action +Alt-F4 quit + +Ctrl-D select_word_or_create_another_cursor +Ctrl-R revert_select_word_or_create_another_cursor +Ctrl-Y move_selection_to_next_word +Ctrl-Shift-A select_all_occurrences + +Ctrl-Shift-D duplicate_lines + +# These shortcuts can be annoying to accidentally use, so they are commented out by default +# Shift-Backspace delete_line_and_go_up +# Shift-Delete delete_line + +Alt-ArrowUp move_selected_lines_up +Alt-ArrowDown move_selected_lines_down + +Ctrl-J join_lines +Ctrl-Shift-J join_lines_no_spaces_in_between + +Ctrl-U change_case_cycle + +Tab indent_or_go_to_next_tabstop +Shift-Tab unindent + +Ctrl-] indent +Ctrl-[ unindent + +Ctrl-S save +Ctrl-Shift-S save_as + +Alt-Minus move_to_previous_editor_history +Alt-Plus move_to_next_editor_history + +Ctrl-PageUp move_to_previous_buffer +Ctrl-PageDown move_to_next_buffer + +Ctrl-/ toggle_comment +Ctrl-L select_line + +Alt-K scroll_viewport_up +Alt-E scroll_viewport_up_fast # for some reason Alt-U didn't reach the window at all, so using Alt-E instead +Alt-PageUp scroll_viewport_up_fast +Alt-J scroll_viewport_down +Alt-D scroll_viewport_down_fast +Alt-PageDown scroll_viewport_down_fast +Alt-H scroll_viewport_left +Alt-L scroll_viewport_right + +Ctrl-Alt-ArrowUp scroll_viewport_up +Ctrl-Alt-ArrowDown scroll_viewport_down +Ctrl-Alt-ArrowLeft scroll_viewport_left +Ctrl-Alt-ArrowRight scroll_viewport_right + +Alt-V move_cursor_to_viewport_center + +{Shift}-Ctrl-ArrowUp move_up_to_empty_line +{Shift}-Ctrl-ArrowDown move_down_to_empty_line + +Alt-Shift-I add_cursors_to_line_ends +Alt-Shift-Ctrl-I add_cursors_to_line_starts + +Enter break_line +Ctrl-Enter new_line_below_without_breaking +Ctrl-Shift-Enter new_line_above_without_breaking + +NumpadEnter break_line +Ctrl-NumpadEnter new_line_below_without_breaking +Ctrl-Shift-NumpadEnter new_line_above_without_breaking + +Ctrl-1 switch_to_left_editor +Ctrl-2 switch_to_right_editor +Ctrl-, switch_to_other_editor +Ctrl-Shift-, duplicate_editor + +Ctrl-Alt-Shift-ArrowLeft move_editor_to_the_left +Ctrl-Alt-Shift-ArrowRight move_editor_to_the_right + +Ctrl-N create_new_file +Ctrl-Shift-N create_new_file_on_the_side + +Alt-Shift-ArrowUp create_cursor_above +Alt-Shift-ArrowDown create_cursor_below + +Alt-A align_cursors + +Alt-Z toggle_line_wrap +Alt-Shift-L toggle_line_numbers + +Ctrl-Shift-Alt-N open_another_editor_instance + +[open file dialog] + +Ctrl-Enter open_entry_on_the_side +Ctrl-1 open_entry_on_the_left +Ctrl-2 open_entry_on_the_right +Shift-Enter open_entry_in_explorer + +Tab open_directory + +Backspace pop_directory + + +[search dialog] + +Ctrl-Enter open_entry_on_the_side +Ctrl-1 open_entry_on_the_left +Ctrl-2 open_entry_on_the_right + +Shift-Enter move_up # an alternative way to move + +Alt-C toggle_case_sensitive +Alt-W toggle_whole_word +Alt-R toggle_regex_search + + +[common] + +# Common key combos may be used as a fallback if they are not defined in more specific sections. +# For example, if "move_up" is not defined in [editors], the one in the [common] section will be matched. + +Alt-X show_commands +Ctrl-Shift-P show_commands + +Ctrl-Alt-P switch_to_project + +Ctrl-F search_in_buffer +Alt-F search_in_buffer_dropdown_mode +Ctrl-Shift-F search_in_project + +Ctrl-P open_file_by_name +Ctrl-O navigate_to_file +Ctrl-Shift-O navigate_to_file_from_root +Ctrl-Tab switch_between_open_files + +Ctrl-G go_to_line + +Ctrl-C copy +Ctrl-X cut +Ctrl-V paste + +Ctrl-Z undo +Ctrl-Shift-Z redo + +Ctrl-D select_word +Ctrl-A select_all + +Ctrl-K cut_to_end_of_line +Ctrl-Shift-Delete delete_to_end_of_line +Ctrl-Shift-Backspace delete_to_start_of_line + +Ctrl-W close_current_editor +Ctrl-Shift-W close_other_editor + +Escape escape # combines close_dialog and remove_additional_cursors + +Ctrl-Shift-L toggle_expand + +Ctrl-B build_panel_toggle + +F11 toggle_fullscreen + +Enter open_entry_in_place + +Tab focus_next_ui_element +Shift-Tab focus_previous_ui_element + +# {Shift}- means shift is optional, the key combination will still be matched. +# NOTE: in this editor the Shift key is hard-coded to extend selection when held +{Shift}-ArrowUp move_up +{Shift}-Ctrl-ArrowUp move_up_fast +{Shift}-PageUp move_up_one_page + +{Shift}-ArrowDown move_down +{Shift}-Ctrl-ArrowDown move_down_fast +{Shift}-PageDown move_down_one_page + +{Shift}-ArrowLeft move_left +{Shift}-Alt-ArrowLeft move_left_by_character_type +{Shift}-Ctrl-ArrowLeft move_left_through_word_throttled +{Shift}-Meta-ArrowLeft move_left_through_word + +{Shift}-ArrowRight move_right +{Shift}-Alt-ArrowRight move_right_by_character_type +{Shift}-Ctrl-ArrowRight move_right_through_word_throttled +{Shift}-Meta-ArrowRight move_right_through_word + +{Shift}-Home jump_to_line_start +{Shift}-End jump_to_line_end +{Shift}-Ctrl-Home jump_to_file_start +{Shift}-Ctrl-End jump_to_file_end +{Shift}-Ctrl-M jump_to_matching_bracket + +{Shift}-Backspace delete_left_char +{Shift}-Delete delete_right_char +{Shift}-Alt-Backspace delete_left_by_character_type +{Shift}-Alt-Delete delete_right_by_character_type +{Shift}-Meta-Backspace delete_left_through_word +{Shift}-Meta-Delete delete_right_through_word +Ctrl-Backspace delete_left_by_character_type_fast +Ctrl-Delete delete_right_by_character_type_fast + +Ctrl-Plus increase_font_size +Ctrl-Minus decrease_font_size +Ctrl-0 reset_font_size_to_default +Ctrl-MouseMiddle reset_font_size_to_default + +F8 go_to_next_build_error +Ctrl-F8 go_to_next_build_error_on_the_side +Shift-F8 go_to_previous_build_error +Shift-Ctrl-F8 go_to_previous_build_error_on_the_side + + +[[style]] + +[fonts] +# font: default +font: Courier Prime Code +font_ui: default +font_ui_bold: default +font_size: 16 +font_ui_size: 16 +anti_aliasing: lcd # options: lcd, normal +hinting: true + +[colors] +background0: 15212AFF +background1: 10191FFF +background2: 18262FFF +background3: 1A2831FF +background4: 21333FFF + +# NOTE: region_scope colors only work for Jai at the moment +region_scope_export: 15212AFF +region_scope_file: 131C22FF +region_scope_module: 1A2831FF + +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 090e12FF + +selection_active: 1C4449FF +selection_inactive: 1C44497F +selection_highlight: FCEDFC26 +search_result_active: 8E772EFF +search_result_inactive: FCEDFC26 +scrollbar: 33CCCC19 +scrollbar_hover: 33CCCC4C +scrollbar_background: 10191F4C +cursor: 26B2B2FF +cursor_inactive: 196666FF +paste_animation: 1C4449FF +splitter: 21333FFF +splitter_hover: 1C4449FF +ruler: FCEDFC26 +indent_guide: FCEDFC26 +letter_highlight: 599999FF +list_cursor_lite: 33CCCC19 +list_cursor: 33CCCC4C +shadow_dark: 0E161C7F +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF +char_under_cursor: FFFFFFFF +bracket_highlight: E8FCFE30 + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +build_panel_background: 1A2831FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: 1C303AFF + +code_default: BFC9DBFF +code_invalid: FF0000FF + +#code_string_literal: D4BC7DFF +#code_multiline_string: D4BC7DFF +#code_raw_string: D4BC7DFF +#code_char_literal: D4BC7DFF + +#code_identifier: BFC9DBFF +#code_note: E0AD82FF +#code_number: D699B5FF + +#code_error: FF0000FF +#code_warning: E4D97DFF +#code_highlight: E4D97DFF + +#code_comment: 87919DFF +#code_multiline_comment: 87919DFF + +#code_operation: E0AD82FF +#code_punctuation: BFC9DBFF + +#code_keyword: E67D74FF +#code_type: 82AAA3FF +#code_value: D699B5FF +#code_modifier: E67D74FF +#code_attribute: E67D74FF +#code_enum_variant: BFC9DBFF +#code_macro: E0AD82FF +#code_function: D0C5A9FF + +#code_builtin_variable: D699B5FF +#code_builtin_function: E0AD82FF +#code_builtin_exception: E0AD82FF + +#code_directive: E67D74FF +#code_directive_modifier: E67D74FF + +#code_header: E67D74FF +#code_header2: E0AD82FF +#code_header3: E0AD82FF +#code_header4: E0AD82FF +#code_header5: E0AD82FF +#code_header6: E0AD82FF + + + + + +code_string_literal: BFC9DBFF +code_multiline_string: BFC9DBFF +code_raw_string: BFC9DBFF +code_char_literal: BFC9DBFF + +code_identifier: BFC9DBFF +code_note: BFC9DBFF +code_number: BFC9DBFF + +code_error: BFC9DBFF +code_warning: BFC9DBFF +code_highlight: BFC9DBFF + +code_comment: 82AAA3FF +code_multiline_comment: 82AAA3FF + +code_operation: BFC9DBFF +code_punctuation: BFC9DBFF + +code_keyword: BFC9DBFF +code_type: BFC9DBFF +code_value: BFC9DBFF +code_modifier: BFC9DBFF +code_attribute: BFC9DBFF +code_enum_variant: BFC9DBFF +code_macro: BFC9DBFF +code_function: BFC9DBFF + +code_builtin_variable: BFC9DBFF +code_builtin_function: BFC9DBFF +code_builtin_exception: BFC9DBFF + +code_directive: BFC9DBFF +code_directive_modifier: BFC9DBFF + +code_header: BFC9DBFF +code_header2: BFC9DBFF +code_header3: BFC9DBFF +code_header4: BFC9DBFF +code_header5: BFC9DBFF +code_header6: BFC9DBFF \ No newline at end of file diff --git a/focus-editor/projects/Example Project.focus-config b/focus-editor/projects/Example Project.focus-config new file mode 100644 index 0000000..ea73f58 --- /dev/null +++ b/focus-editor/projects/Example Project.focus-config @@ -0,0 +1,58 @@ +[16] # Version number. Do not delete. + +[[workspace]] +# These directories and files will be scanned when a workspace is opened so that search etc. works. +# Example: +# C:/projects/my-project +# C:/jai + + +[[build commands]] +# build_working_dir: +# open_panel_on_build: true # <- any settings specified here will apply to all commands unless overridden +# close_panel_on_success: false +# clear_build_output_before_running: false +# error_regex: # see examples below +# auto_jump_to_error: false + +# [Debug Build And Run] # <- command name. Can be arbitrary +# build_command: jai main.jai # should be an executable or a script +# build_working_dir: +# timeout_in_seconds: 5 # if you don't want a timeout, don't specify it +# run_command: test.exe # will be run if build succeeds +# run_working_dir: W:/focus # working dir for the run command +# key_binding: F5 + +# [Run] # <- You could have commands that don't build anything and just run something +# run_command: test +# run_working_dir: /home/user/test +# key_binding: Ctrl-F5 + +# [Release] +# build_command: jai first.jai - release +# key_binding: F9 + + +# Example error regexes: +# For jai: ^(?P.*):(?P\d+),(?P\d+): (?PError|Warning|Info|...):* (?P.*)|^(?P.*error LNK.*) +# For msvc: ^(?P.*)\((?P\d+),?(?P\d+)?\)[ ]?: (?Perror|warning) (?P.*)$ +# For golang: ^(?P.*):(?P\d+):(?P\d+): (?P.*)$ +# For gcc: ^(?P.*):(?P\d+):(?P\d+): (?Perror|warning): (?P.*) (\[(?P.*)\])?$ +# ... let us know what regex works for you and we'll add it here + +# NOTE: +# You can use the following variables in build_command or run_command: +# %FILE% - full path to currenly active file +# %FILE_DIR% - the directory of the currently active file +# %FILE_NAME% - current file name, with extension +# %FILE_NAME_NO_EXTENSION% - current file name, without extension +# %BUILD_WORKING_DIR% - working dir of the build command +# %RUN_WORKING_DIR% - working dir of the run command +# %PROJECT_CONFIG_DIR% - path of the directory containing the active project config file + + + +# NOTE: You can override any section from the global config in your project and it will be used when your project is active. +# Some sections, such as [[workspace]] or [[build commands]], will completely replace those in the global config, +# while other sections such as [[keymap]] or [[style]] will try to merge with the corresponding sections in the global +# config, allowing to override only some of the keys or colors. diff --git a/focus-editor/themes/basic-light.focus-theme b/focus-editor/themes/basic-light.focus-theme new file mode 100644 index 0000000..0c97d5f --- /dev/null +++ b/focus-editor/themes/basic-light.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] +background0: FFFFFFFF +background1: E5E5E5FF +background2: FFFFFFFF +background3: E5E5E5FF +background4: E5E5E5FF +selection_active: D3E4FBFF +selection_inactive: E5E5E5FF +selection_highlight: E5E5E5FF +search_result_active: D6C280FF +search_result_inactive: E5E5E5FF +scrollbar: CCCCCC19 +scrollbar_hover: 1818184C +scrollbar_background: 10191F4C +cursor: 181818FF +cursor_inactive: 196666FF +paste_animation: E5E5E5FF +splitter: E5E5E5FF +splitter_hover: E5E5E5FF +letter_highlight: 181818FF +list_cursor_lite: 18181819 +list_cursor: 1818184C +shadow_dark: 18181810 +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF +char_under_cursor: FFFFFFFF + +ui_default: 181818FF +ui_dim: 303030FF +ui_neutral: CCCCCCFF +ui_warning: BA620FFF +ui_warning_dim: BA620FFF +ui_error: BD2929FF +ui_error_bright: FF0000FF +ui_success: 63C963FF + +region_scope_export: FFFFFFFF +region_scope_file: F5F5F5FF +region_scope_module: E5E5E5FF +region_header: FFFFFFFF +region_success: 63C963FF +region_warning: EEE8AAFF +region_error: FFC0CBFF +region_heredoc: F8F8F8FF + +build_panel_background: FFFFFFFF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: E5E5E5FF + +code_default: 181818FF +code_comment: 416529FF +code_type: 008080FF +code_function: 1260A1FF +code_punctuation: 181818FF +code_operation: 181818FF +code_string_literal: 871C1DFF +code_value: 0000FFFF +code_highlight: 0261D1FF +code_error: FF0000FF +code_warning: E4D97DFF +code_keyword: 0000FFFF +code_invalid: FF0000FF +code_multiline_string: 871C1DFF +code_raw_string: 871C1DFF +code_char_literal: 008080FF +code_identifier: 181818FF +code_note: 181818FF +code_number: 0000FFFF +code_multiline_comment: 416529FF +code_modifier: 6F0093FF +code_attribute: 6F0093FF +code_enum_variant: 181818FF +code_macro: 1260A1FF +code_builtin_variable: 0000FFFF +code_builtin_function: 1260A1FF +code_builtin_exception: 181818FF +code_directive: 8D5C0FFF +code_directive_modifier: 8D5C0FFF +code_header: 6F0093FF +code_header2: 181818FF +code_header3: 181818FF +code_header4: 181818FF +code_header5: 181818FF +code_header6: 181818FF + +ruler: 196666FF + +bracket_highlight: E5E5E5FF +indent_guide: E5E5E5FF diff --git a/focus-editor/themes/everforest-hard.focus-theme b/focus-editor/themes/everforest-hard.focus-theme new file mode 100644 index 0000000..1deae9b --- /dev/null +++ b/focus-editor/themes/everforest-hard.focus-theme @@ -0,0 +1,94 @@ +[16] # Version number. Do not delete. + +# Based on Everforest Hard colors from https://github.com/sainnhe/everforest. + +[colors] +background0: 1E2326FF +background1: 272E33FF +background2: 2E383CFF +background3: 272E33FF +background4: 272E33FF +selection_active: 3C4841FF +selection_inactive: 2E383CFF +selection_highlight: A7C08022 +search_result_active: 385F38FF +search_result_inactive: 95A99F55 +scrollbar: 272E3319 +scrollbar_hover: 484848FF +scrollbar_background: 4848484C +cursor: A7C080AA +cursor_inactive: A7C080FF +paste_animation: 4F5B58FF +splitter: 2E383CFF +splitter_hover: 4F5B58FF +letter_highlight: DFDFBFFF +list_cursor_lite: 4F5B584C +list_cursor: 4F5B58FF +shadow_dark: 0E161C44 +shadow_transparent: 0E161C00 +text_input_label: 7A8478FF +char_under_cursor: FFFFFFFF + +ui_default: D3C6AAFF +ui_dim: 9DA9A0FF +ui_neutral: 7A8478FF +ui_warning: DBBC7FFF +ui_warning_dim: 45443CFF +ui_error: E67E80FF +ui_error_bright: FF0000FF +ui_success: 3C4841FF + +region_scope_export: 1E2326FF +region_scope_file: 00000033 +region_scope_module: 00000022 +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 272E33FF + +build_panel_background: 1E2326FF +build_panel_scrollbar: 272E3319 +build_panel_scrollbar_hover: 484848FF +build_panel_scrollbar_background: 4848484C +build_panel_title_bar: 272E33FF + +code_default: D3C6AAFF +code_comment: 7A8478FF +code_type: E69875FF +code_function: A7C080FF +code_punctuation: 7A8478FF +code_operation: 7A8478FF +code_string_literal: 83C092FF +code_value: DBBC7FFF +code_highlight: D699B6FF +code_error: E67E80FF +code_warning: E69875FF +code_keyword: E67E80FF +code_invalid: E67E80FF +code_multiline_string: 83C092FF +code_raw_string: 83C092FF +code_char_literal: 83C092FF +code_identifier: D3C6AAFF +code_note: 7A8478FF +code_number: DBBC7FFF +code_multiline_comment: 7A8478FF +code_modifier: E67E80FF +code_attribute: E67E80FF +code_enum_variant: D3C6AAFF +code_macro: 7A8478FF +code_builtin_variable: DBBC7FFF +code_builtin_function: 7A8478FF +code_builtin_exception: 7A8478FF +code_directive: E67E80FF +code_directive_modifier: E67E80FF +code_header: E67E80FF +code_header2: 7A8478FF +code_header3: 7A8478FF +code_header4: 7A8478FF +code_header5: 7A8478FF +code_header6: 7A8478FF + +ruler: A7C08022 +bracket_highlight: A7C08022 +indent_guide: 272E33FF diff --git a/focus-editor/themes/gruber-darker.focus-theme b/focus-editor/themes/gruber-darker.focus-theme new file mode 100644 index 0000000..664fd5f --- /dev/null +++ b/focus-editor/themes/gruber-darker.focus-theme @@ -0,0 +1,94 @@ +[16] # Version number. Do not delete. + +# Based on the gruber darker theme by Jason Blevins +# https://github.com/rexim/gruber-darker-theme +[colors] +background0: 181818FF +background1: 141416FF +background2: 453D41FF +background3: 282828FF +background4: 141416FF +selection_active: 484848FF +selection_inactive: 48484899 +selection_highlight: FCEDFC26 +search_result_active: 565F73FF +search_result_inactive: 95A99F26 +scrollbar: 484848FF +scrollbar_hover: 484848FF +scrollbar_background: 4848484C +cursor: FFDD33FF +cursor_inactive: FFDD3311 +paste_animation: 484848FF +splitter: 1A1A1AFF +splitter_hover: 484848FF +letter_highlight: FFDD33FF +list_cursor_lite: FCEDFC19 +list_cursor: FCEDFC4C +shadow_dark: 0E161C33 +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: CB4B16FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +region_scope_export: 181818FF +region_scope_file: 202020FF +region_scope_module: 222222FF +region_header: 181818FF +region_success: 181818FF +region_warning: 226022FF +region_error: 772222FF +region_heredoc: 141414FF + +build_panel_background: 262624FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 2626244C +build_panel_title_bar: 141416FF + +code_default: E4E4EFFF +code_comment: CC8C3CFF +code_type: 95A99fFF +code_function: E4E4EFFF +code_punctuation: E4E4EFFF +code_operation: E4E4EFFF +code_string_literal: 73C936FF +code_value: E4E4EFFF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: FFDD33FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: 73C936FF +code_raw_string: 73C936FF +code_char_literal: 73C936FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: FFDD3311 +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/focus-editor/themes/gruvbox-flat.focus-theme b/focus-editor/themes/gruvbox-flat.focus-theme new file mode 100644 index 0000000..b29aeca --- /dev/null +++ b/focus-editor/themes/gruvbox-flat.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] + +background0: 32302FFF +background1: 32302FFF +background2: 5A524CFF +background3: 282828FF +background4: 282828FF +selection_active: 3c3836FF +selection_inactive: 3C3836AA +selection_highlight: FCEDFC26 +search_result_active: 8E772EFF +search_result_inactive: FCEDFC26 +scrollbar: D4BE9819 +scrollbar_hover: D4BE984C +scrollbar_background: 10191F4C +cursor: 45403DFF +cursor_inactive: 000000FF +paste_animation: D4BE9822 +splitter: 282828FF +splitter_hover: 282828FF +letter_highlight: D79921FF +list_cursor_lite: D4BE9819 +list_cursor: D4BE984C +shadow_dark: 1818182F +shadow_transparent: 18181800 +text_input_label: D4BE98FF + +ui_default: D4BE98FF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +region_scope_export: 32302FFF +region_scope_file: 32302FFF +region_scope_module: 32302FFF +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 23201FFF + +build_panel_background: 3C3836FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: 282828FF + +code_default: D4BE98FF +code_comment: 7C6f64FF +code_type: D65D0EFF +code_function: FB4934FF +code_punctuation: 928374FF +code_operation: D79221FF +code_string_literal: A9B665FF +code_value: D3869BFF +code_highlight: 458588FF +code_error: FF0000FF +code_keyword: D79921FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: A9B665FF +code_raw_string: A9B665FF +code_char_literal: A9B665FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 000000FF +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/focus-editor/themes/halogen.focus-theme b/focus-editor/themes/halogen.focus-theme new file mode 100644 index 0000000..c0aea09 --- /dev/null +++ b/focus-editor/themes/halogen.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 181818FF +background1: 181818FF +background2: 383838FF +background3: 181818FB +background4: 181818FB +selection_active: BFC9DB38 +selection_inactive: BFC9DB38 +selection_highlight: FCEDFC26 +search_result_active: 8E772EFF +search_result_inactive: FCEDFC26 +scrollbar: 28282850 +scrollbar_hover: 282828FF +scrollbar_background: 181818FF +cursor: BFC9DBFF +cursor_inactive: BFC9DBFF +paste_animation: 1C4449FF +splitter: 8296c120 +splitter_hover: 8296c130 +letter_highlight: BFC9DBFF +list_cursor_lite: BFC9DB38 +list_cursor: FCEDFC26 +shadow_dark: 8296c103 +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 18181850 + +region_scope_export: 181818FF +region_scope_file: 181818FF +region_scope_module: 181818FF +region_header: 227722FF +region_success: 227722FF +region_warning: 227722FF +region_error: 227722FF +region_heredoc: 101010FF + +build_panel_background: 202020FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: 383838FF + +code_default: BFC9DBFF +code_comment: 536371FF +code_type: 6e8eb8FF +code_function: 6e8eb8FF +code_punctuation: BFC9DBFF +code_operation: FFFFFFFF +code_string_literal: D4BC7DFF +code_value: 3aa982FF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: 3aa982FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: D4BC7DFF +code_raw_string: D4BC7DFF +code_char_literal: D4BC7DFF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: BFC9DBFF +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 + diff --git a/focus-editor/themes/handmade-hero.focus-theme b/focus-editor/themes/handmade-hero.focus-theme new file mode 100644 index 0000000..e036cfe --- /dev/null +++ b/focus-editor/themes/handmade-hero.focus-theme @@ -0,0 +1,96 @@ +[16] # Version number. Do not delete. + +# Based on Casey Muratori's emacs theme used on Handmade Hero series + +[colors] + +background0: 161616FF +background1: 141414FF +background2: 18262FFF # unused +background3: 121212FF +background4: 121212FF +selection_active: 0100CDFF +selection_inactive: 0100CD7F +selection_highlight: FCEDFC26 # todo +search_result_active: B55F75FF +search_result_inactive: B55F754C +scrollbar: CDAA7D19 +scrollbar_hover: CDAA7D4C +scrollbar_background: CDAA7D11 +cursor: 40FF40FF +cursor_inactive: 40FF4011 +paste_animation: 0100CDFF +splitter: CDAA7D19 +splitter_hover: CDAA7D4C +letter_highlight: B8860BFF +list_cursor_lite: CDAA7D19 +list_cursor: CDAA7D4C +shadow_dark: 1010107F +shadow_transparent: 10101000 +text_input_label: 7F7F7FFF +char_under_cursor: 161616FF + +ui_default: CDAA7DFF +ui_dim: 7F7F7FFF +ui_neutral: 7F7F7FFF +ui_warning: FFAD34FF # todo +ui_warning_dim: 986032FF # todo +ui_error: 772222FF # todo +ui_error_bright: FF0000FF # todo +ui_success: 227722FF # todo + +region_scope_export: 161616FF +region_scope_file: 161616FF +region_scope_module: 161616FF +region_header: 161616FF +region_success: 227722FF # todo +region_warning: 986032FF # todo +region_error: 772222FF # todo +region_heredoc: 121212FF + +build_panel_background: 161616FF +build_panel_scrollbar: CDAA7D19 +build_panel_scrollbar_hover: CDAA7D4C +build_panel_scrollbar_background: CDAA7D11 +build_panel_title_bar: 121212FF + +code_default: CDAA7DFF +code_comment: 7F7F7FFF +code_type: B8860BFF +code_function: CDAA7DFF +code_punctuation: CDAA7DFF +code_operation: CDAA7DFF +code_string_literal: 6B8E23FF +code_value: 6B8E23FF +code_highlight: D89B75FF # unused +code_error: FF0000FF # todo +code_warning: E4D97DFF # todo +code_keyword: B8860BFF +code_invalid: FF0000FF +code_multiline_string: 6B8E23FF +code_raw_string: 6B8E23FF +code_char_literal: 6B8E23FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 40FF4011 +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/focus-editor/themes/jblow-nostalgia.focus-theme b/focus-editor/themes/jblow-nostalgia.focus-theme new file mode 100644 index 0000000..d46ea8c --- /dev/null +++ b/focus-editor/themes/jblow-nostalgia.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] + +background0: 292929FF +background1: 1A1A1AFF +background2: 1A1A1AFF +background3: 1A1A1AFF +background4: 1A1A1AFF +selection_active: 0000FFFF +selection_inactive: 0000FF00 +selection_highlight: FCEDFC26 +search_result_active: CD6889FF +search_result_inactive: FCEDFC26 +scrollbar: D0C5A94C +scrollbar_hover: D0C5A9A8 +scrollbar_background: 10191F4C +cursor: 89E2A1FF +cursor_inactive: 161616FF +paste_animation: D3B58D19 +splitter: D0C5A94C +splitter_hover: D0C5A9A8 +letter_highlight: FFFFFFFF +list_cursor_lite: D3B58D19 +list_cursor: D3B58D4C +shadow_dark: 0E161C33 +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +region_scope_export 292929FF +region_scope_file 292929FF +region_scope_module 292929FF +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 181818FF + +build_panel_title_bar: 1A1A1AFF +build_panel_background: 131313FF +build_panel_scrollbar: D0C5A94C +build_panel_scrollbar_hover: D0C5A9A8 +build_panel_scrollbar_background: 10191F4C + +code_default: D3B58DFF +code_comment: FFFF00FF +code_type: 98FB98FF +code_function: D3B58DFF +code_punctuation: D3B58DFF +code_operation: D3B58DFF +code_string_literal: BEBEBEFF +code_value: 7FFFD4FF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: FFFFFFFF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: BEBEBEFF +code_raw_string: BEBEBEFF +code_char_literal: BEBEBEFF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 161616FF +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/focus-editor/themes/jblowtorch.focus-theme b/focus-editor/themes/jblowtorch.focus-theme new file mode 100644 index 0000000..885ce1e --- /dev/null +++ b/focus-editor/themes/jblowtorch.focus-theme @@ -0,0 +1,92 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 072626FF +background1: 1A1A1AFF +background2: 18262FFF +background3: 072626FF +background4: 1A1A1AFF +selection_active: 0000FFFF +selection_inactive: 0000FF00 +selection_highlight: FCEDFC26 +search_result_active: CD6889FF +search_result_inactive: FCEDFC26 +scrollbar: 33CCCC19 +scrollbar_hover: 33CCCC4C +scrollbar_background: 0726264C +cursor: 90EE90FF +cursor_inactive: 196666FF +paste_animation: 0FDFAF4C +splitter: 1A1A1AFF +splitter_hover: 1C4449FF +letter_highlight: FFFFFFFF +list_cursor_lite: 0FDFAF19 +list_cursor: 0FDFAF4C +shadow_dark: 0E161C33 +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +region_scope_export: 072626FF +region_scope_file: 072626FF +region_scope_module: 072626FF +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 011A1AFF + +build_panel_background: 262624FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 2626244C +build_panel_title_bar: 1A1A1AFF + +code_default: D3B58DFF +code_comment: 3DDF23FF +code_type: 98FB98FF +code_function: D3B58DFF +code_punctuation: D3B58DFF +code_operation: E0AD82FF +code_string_literal: 0FDFAFFF +code_value: 7FFFD4FF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: FFFFFFFF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: 0FDFAFFF +code_raw_string: 0FDFAFFF +code_char_literal: 0FDFAFFF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 196666FF +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/focus-editor/themes/nord-midnight.focus-theme b/focus-editor/themes/nord-midnight.focus-theme new file mode 100644 index 0000000..6dac3a6 --- /dev/null +++ b/focus-editor/themes/nord-midnight.focus-theme @@ -0,0 +1,92 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 1D2129FF +background1: 3B4252FF +background2: 434C5EFF +background3: 292D38FF +background4: 292D38FF +selection_active: 434C5eFF +selection_inactive: 434C5e52 +selection_highlight: 434C5EFF +search_result_active: B48EADFF +search_result_inactive: B48EAD26 +scrollbar: 292D38AF +scrollbar_hover: 292D38FF +scrollbar_background: 1d212990 +cursor: D8DEE99F +cursor_inactive: D8DEE9FF +paste_animation: 2E3440FF +splitter: 3B4252FF +splitter_hover: 3B4252FF +letter_highlight: 81A1C1FF +list_cursor_lite: 88C0D019 +list_cursor: 88C0D04C +shadow_dark: 121419AF +shadow_transparent: 1D21291F +text_input_label: ECEFF4FF + +ui_default: ECEFF4FF +ui_dim: ECEFF49F +ui_neutral: 2E3440FF +ui_warning: D08770FF +ui_warning_dim: D08770FF +ui_error: BF616AFF +ui_error_bright: BF616AFF +ui_success: 5E81ACFF + +region_scope_export: 1D2129FF +region_scope_file: 3B425270 +region_scope_module: 434C5E30 +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 101920FF + +build_panel_background: 1D2129FF +build_panel_scrollbar: 292D38AF +build_panel_scrollbar_hover: 292D38FF +build_panel_scrollbar_background: 1d212990 +build_panel_title_bar: 292D38FF + +code_default: ECEFF4FF +code_comment: 516173FF +code_type: 8FBCBBFF +code_function: 88C0D0FF +code_punctuation: 81A1C1FF +code_operation: 81A1C1FF +code_string_literal: A3BE8CFF +code_value: B48EADFF +code_highlight: 5E81ACFF +code_error: BF616AFF +code_keyword: 81A1C1FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: A3BE8CFF +code_raw_string: A3BE8CFF +code_char_literal: A3BE8CFF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: D8DEE9FF +bracket_highlight: 434C5EFF +indent_guide: 434C5EFF diff --git a/focus-editor/themes/nord.focus-theme b/focus-editor/themes/nord.focus-theme new file mode 100644 index 0000000..ca6389b --- /dev/null +++ b/focus-editor/themes/nord.focus-theme @@ -0,0 +1,92 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 2E3440FF +background1: 3B4252FF +background2: 434C5EFF +background3: 434C5EFF +background4: 3B4252FF +selection_active: 434C5EFF +selection_inactive: 434C5EFF +selection_highlight: 434C5EFF +search_result_active: B48EADFF +search_result_inactive: B48EAD26 +scrollbar: 3A4252AF +scrollbar_hover: 3A4252FF +scrollbar_background: 2E3440FF +cursor: D8DEE99F +cursor_inactive: D8DEE9FF +paste_animation: 2E3440FF +splitter: 3B4252FF +splitter_hover: 3B4252FF +letter_highlight: 81A1C1FF +list_cursor_lite: 88C0D019 +list_cursor: 88C0D04C +shadow_dark: 2A2F3AFF +shadow_transparent: 2A2F3A00 +text_input_label: ECEFF4FF + +ui_default: ECEFF4FF +ui_dim: ECEFF49F +ui_neutral: 2E3440FF +ui_warning: D08770FF +ui_warning_dim: D087709F +ui_error: BF616A9F +ui_error_bright: BF616AFF +ui_success: 5E81ACFF + +region_scope_export: 2E3440FF +region_scope_file: 3B4252AF +region_scope_module: 434C5E9F +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 202837FF + +build_panel_background: 2E3440FF +build_panel_scrollbar: 292D38AF +build_panel_scrollbar_hover: 292D38FF +build_panel_scrollbar_background: 1D212990 +build_panel_title_bar: 434C5EFF + +code_default: ECEFF4FF +code_comment: EBCB8BAF +code_type: 8FBCBBFF +code_function: 88C0D0FF +code_punctuation: 81A1C1FF +code_operation: 81A1C1FF +code_string_literal: A3BE8CFF +code_value: B48EADFF +code_highlight: 5E81ACFF +code_error: BF616AFF +code_keyword: 81A1C1FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: A3BE8CFF +code_raw_string: A3BE8CFF +code_char_literal: A3BE8CFF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: D8DEE9FF +bracket_highlight: 434C5EFF +indent_guide: 434C5EFF diff --git a/focus-editor/themes/solarized-dark.focus-theme b/focus-editor/themes/solarized-dark.focus-theme new file mode 100644 index 0000000..a9146be --- /dev/null +++ b/focus-editor/themes/solarized-dark.focus-theme @@ -0,0 +1,92 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 002B36FF +background1: 002B36FF +background2: 073642FF +background3: 073642FF +background4: 073642FF +selection_active: 073642FF +selection_inactive: 073642FF +selection_highlight: 93A1A1FF +search_result_active: B58900FF +search_result_inactive: FCEDFC26 +scrollbar: 33CCCC19 +scrollbar_hover: 33CCCC4C +scrollbar_background: 10191F4C +cursor: 93A1A1FF +cursor_inactive: 93A1A1FF +paste_animation: 1C4449FF +splitter: 21333FFF +splitter_hover: 1C4449FF +letter_highlight: 599999FF +list_cursor_lite: 93A1A122 +list_cursor: 93A1A144 +shadow_dark: 0E161C7F +shadow_transparent: 0E161C00 +text_input_label: 3B4450FF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 073642FF +ui_warning: CB4B16FF +ui_warning_dim: CB4B16FF +ui_error: FC32FFFF +ui_error_bright: DC322FFF +ui_success: 073642FF + +region_scope_export: 002B36FF +region_scope_file: 002B36FF +region_scope_module: 002B36FF +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 00202EFF + +build_panel_background: 073642FF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: 1C303AFF + +code_default: 839496FF +code_comment: 586E75FF +code_type: 859900FF +code_function: 839496FF +code_punctuation: 93A1A1FF +code_operation: 93A1A1FF +code_string_literal: 2AA198FF +code_value: D33682FF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: 859900FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: 2AA198FF +code_raw_string: 2AA198FF +code_char_literal: 2AA198FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 93A1A1FF +bracket_highlight: 93A1A1FF +indent_guide: 93A1A1FF diff --git a/focus-editor/themes/spacemacs-light.focus-theme b/focus-editor/themes/spacemacs-light.focus-theme new file mode 100644 index 0000000..a447516 --- /dev/null +++ b/focus-editor/themes/spacemacs-light.focus-theme @@ -0,0 +1,92 @@ +[16] # Version number. Do not delete. + +[colors] +background0: fbf8efFF +background1: d2cedaFF +background2: e3deddFF +background3: efeae9FF +background4: d2cedaFF +selection_active: d3d3e7FF +selection_inactive: e7e7fcFF # This is in the search result +selection_highlight: dae6d0FF # highlight in search result +search_result_active: ba2f595F # Have to dim it because no foreground for search matches +search_result_inactive: dae6d0FF +scrollbar: d3d3e7FF +scrollbar_hover: d3d3e7FF +scrollbar_background: efeae9FF +cursor: 100a14FF +cursor_inactive: 196666FF +paste_animation: e7e7fcFF +splitter: b3b9beFF +splitter_hover: efeae9FF +letter_highlight: 3a81c3FF +list_cursor_lite: d3d3e7FF +list_cursor: d3d3e7FF +shadow_dark: a094a23F +shadow_transparent: a094a200 +text_input_label: 655370FF + +ui_default: 6c3163FF +ui_dim: 655370FF +ui_neutral: 4C4C4CFF # TODO +ui_warning: dc752fFF +ui_warning_dim: dc752f5F +ui_error: e0211dFF +ui_error_bright: FF0000FF # TODO +ui_success: 42ae2cFF + +region_scope_export: fbf8efFF +region_scope_file: fbf8efFF +region_scope_module: fbf8efFF +region_header: d2cedaFF +region_success: 42ae2cFF +region_warning: 986032FF +region_error: e0211dFF +region_heredoc: f0eee0FF + +build_panel_background: fbf8efFF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 10191F4C +build_panel_title_bar: d2cedaFF + +code_default: 655370FF +code_comment: 2aa1aeFF +code_type: ba2f59FF +code_function: 6c3163FF +code_punctuation: 655370FF +code_operation: 655370FF +code_string_literal: 2d9574FF +code_value: 4e3163FF +code_highlight: ba2f59FF +code_error: e0211dFF +code_keyword: 3a81c3FF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: 2d9574FF +code_raw_string: 2d9574FF +code_char_literal: 2d9574FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 196666FF +bracket_highlight: dae6d0FF +indent_guide: dae6d0FF diff --git a/focus-editor/themes/steel-breeze.focus-theme b/focus-editor/themes/steel-breeze.focus-theme new file mode 100644 index 0000000..c8056ab --- /dev/null +++ b/focus-editor/themes/steel-breeze.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] + +region_scope_export 2c2c2c80 +region_scope_file 40404080 +region_scope_module 30303080 +region_header: 34a2a480 # Debug build header message background +region_success: 44c04480 # Debug Panel success message background +region_warning: ffc04480 +region_error: ee444480 +region_heredoc: 101010FF + +# Build panel colours (self-explanatory) +build_panel_title_bar: ffffff03 +build_panel_background: 000000e8 +build_panel_scrollbar: ffffff40 +build_panel_scrollbar_hover: ffffff30 +build_panel_scrollbar_background: ffffff20 + +background0: 00000060 # Body and dialog text area background +background1: 000000ff # Bottom layer +background2: ff0000ff +background3: 000000aa # Dialog background +background4: ffffff02 # Status bar +selection_active: 4000ff80 # Selection and file dialog current directory +selection_inactive: 3e02b580 # Background of selection on other side +selection_highlight: ffffff20 # Background of other occurences of selection +paste_animation: 4000ffc0 # Background colour during paste animation +search_result_active: 4000ff80 # Background of highlighted occurence +search_result_inactive: ffffff30 # Background of unhighlighted occurences +scrollbar: ffffff40 # Actual scrollbar +scrollbar_background: ffffff20 # Scrollbar curb +scrollbar_hover: ffffff30 # Whole scrollbar groove when hovered +cursor: 4020ffff # Text cursor background in body area +splitter: ffffff20 # Splitter between right and left body +splitter_hover: ffffff40 # Splitter while hovered +list_cursor: 4000ffa0 # Cursor in dialog +list_cursor_lite: 4000ff80 # Mouse cursor in dialog +shadow_dark: ffffff08 # Shadow at the edge of status bar and dialog +shadow_transparent: ffffff00 # Statusbar inverse shadow +cursor_inactive: 4000ffa0 # Search dialog text area outline +text_input_label: ffffff90 # Dialog input prompt +letter_highlight: ffffffff # Highlighted letters in dialog +ui_default: ffffffe0 # normal letters in dialog +ui_dim: ffffff80 +ui_neutral: ffffff40 +ui_warning: ffc044e0 +ui_warning_dim: ffc04480 +ui_error: ee4444e0 +ui_error_bright: ee4444ff +ui_success: 44c044e0 + +code_default: ffffffe0 +code_comment: ffffff80 +code_type: 00ff88e0 +code_function: 0060ffe0 +code_punctuation: ffffff60 +code_operation: ffffff70 +code_string_literal: ff6000e0 +code_value: ff6060e0 +code_highlight: d89b75e0 +code_error: ff0000e0 +code_keyword: 8860ffe0 +code_warning: ffff60e0 +code_invalid: FF0000FF +code_multiline_string: ff6000e0 +code_raw_string: ff6000e0 +code_char_literal: ff6000e0 +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 4000ffa0 +bracket_highlight: ffffff20 +indent_guide: ffffff20 diff --git a/focus-editor/themes/tokyo-night-light.focus-theme b/focus-editor/themes/tokyo-night-light.focus-theme new file mode 100644 index 0000000..3862c4b --- /dev/null +++ b/focus-editor/themes/tokyo-night-light.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] +background0: D5D6DBFF +background1: C1C2C7FF +background2: C1C2C7FF +background3: DCDEE3FF +background4: DCDEE3FF +selection_active: C8C9DEFF +selection_inactive: CFCFE4FF +selection_highlight: CFCFE4FF +search_result_active: AFAFE4FF +search_result_inactive: CFCFE4FF +scrollbar: CCCDD2FF +scrollbar_hover: BFC0C5FF +scrollbar_background: D5D6DBFF +cursor: 4C505EFF +cursor_inactive: 4C505EFF +paste_animation: CFCFE4FF +splitter: C1C2C7FF +splitter_hover: C1C2C7FF +letter_highlight: 343B58FF +list_cursor_lite: C8C9DEFF +list_cursor: C8C9DEFF +shadow_dark: 18181809 +shadow_transparent: 0E161C00 +text_input_label: 9699A3FF +char_under_cursor: B3AFA1FF + +ui_default: 343B58FF +ui_dim: 9DA0ABFF +ui_neutral: 9DA0ABFF +ui_warning: D28822FF +ui_warning_dim: D28822FF +ui_error: BD4040FF +ui_error_bright: DD4E52FF +ui_success: 9ECE6AFF + +region_scope_export: D5D6DBFF +region_scope_file: CBCCD1FF +region_scope_module: CBCCD1FF +region_header: D5D6DBFF +region_success: 627C48FF +region_warning: 965027FF +region_error: 8C4351FF +region_heredoc: D5D6DBFF + +build_panel_background: CBCCD1FF +build_panel_scrollbar: CCCDD2FF +build_panel_scrollbar_hover: C1C2C7FF +build_panel_scrollbar_background: D5D6DBFF +build_panel_title_bar: C1C2C7FF + +code_default: 343B58FF +code_comment: 9699A3FF +code_type: 5A4A78FF +code_function: 34548AFF +code_punctuation: 34548AFF +code_operation: 4C505EFF +code_string_literal: 485E30FF +code_value: 965027FF +code_highlight: D89B75FF +code_error: DD4E52FF +code_warning: 965027FF +code_keyword: 5A4A78FF +code_invalid: DD4E52FF +code_multiline_string: 485E30FF +code_raw_string: 485E30FF +code_char_literal: 485E30FF +code_identifier: 343B58FF +code_note: 4C505EFF +code_number: 965027FF +code_multiline_comment: 9699A3FF +code_modifier: 5A4A78FF +code_attribute: 5A4A78FF +code_enum_variant: 343B58FF +code_macro: 4C505EFF +code_builtin_variable: 965027FF +code_builtin_function: 4C505EFF +code_builtin_exception: 4C505EFF +code_directive: 5A4A78FF +code_directive_modifier: 5A4A78FF +code_header: 5A4A78FF +code_header2: 4C505EFF +code_header3: 4C505EFF +code_header4: 4C505EFF +code_header5: 4C505EFF +code_header6: 4C505EFF + +# Added after migration to version [8] +ruler: 4C505EFF +bracket_highlight: CFCFE4FF +indent_guide: CFCFE4FF diff --git a/focus-editor/themes/tokyo-night.focus-theme b/focus-editor/themes/tokyo-night.focus-theme new file mode 100644 index 0000000..40c1b28 --- /dev/null +++ b/focus-editor/themes/tokyo-night.focus-theme @@ -0,0 +1,93 @@ +[16] # Version number. Do not delete. + +[colors] +background0: 1A1B26FF +background1: 24283BFF +background2: 24283BFF +background3: 16161EFF +background4: 16161EFF +selection_active: 2A2F41FF +selection_inactive: 212433FF +selection_highlight: 2A2F41FF +search_result_active: 4864A7FF +search_result_inactive: 283457FF +scrollbar: 1F2130FF +scrollbar_hover: 34384BFF +scrollbar_background: 1A1B26FF +cursor: C0CAF5FF +cursor_inactive: 8A91B1FF +paste_animation: 4864A7FF +splitter: 101014FF +splitter_hover: 101014FF +letter_highlight: A9B1D6FF +list_cursor_lite: 13131BFF +list_cursor: 202430FF +shadow_dark: 0202088F +shadow_transparent: 02020800 +text_input_label: 565F89FF +char_under_cursor: 3f350AFF + +ui_default: A9B1D6FF +ui_dim: 363B54FF +ui_neutral: 363B54FF +ui_warning: FF9E64FF +ui_warning_dim: 895738FF +ui_error: A95263FF +ui_error_bright: F7768EFF +ui_success: 485E30FF + +region_scope_export: 1A1B26FF +region_scope_file: 1E202EFF +region_scope_module: 1E202EFF +region_header: 1A1B26FF +region_success: 627C48FF +region_warning: 965027FF +region_error: 8C4351FF +region_heredoc: 1A1B26FF + +build_panel_background: 1E202EFF +build_panel_scrollbar: 1F2130FF +build_panel_scrollbar_hover: 24283BFF +build_panel_scrollbar_background: 1A1B26FF +build_panel_title_bar: 101014FF + +code_default: A9B1D6FF +code_comment: 565F89FF +code_type: BB9AF7FF +code_function: 7AA2F7FF +code_punctuation: 7AA2F7FF +code_operation: 89DDFFFF +code_string_literal: 9ECE6AFF +code_value: FF9E64FF +code_highlight: D89B75FF +code_error: F7768EFF +code_warning: 965027FF +code_keyword: BB9AF7FF +code_invalid: F7768EFF +code_multiline_string: 9ECE6AFF +code_raw_string: 9ECE6AFF +code_char_literal: 9ECE6AFF +code_identifier: A9B1D6FF +code_note: 89DDFFFF +code_number: FF9E64FF +code_multiline_comment: 565F89FF +code_modifier: BB9AF7FF +code_attribute: BB9AF7FF +code_enum_variant: A9B1D6FF +code_macro: 89DDFFFF +code_builtin_variable: FF9E64FF +code_builtin_function: 89DDFFFF +code_builtin_exception: 89DDFFFF +code_directive: BB9AF7FF +code_directive_modifier: BB9AF7FF +code_header: BB9AF7FF +code_header2: 89DDFFFF +code_header3: 89DDFFFF +code_header4: 89DDFFFF +code_header5: 89DDFFFF +code_header6: 89DDFFFF + +# Added after migration to version [8] +ruler: 8A91B1FF +bracket_highlight: 2A2F41FF +indent_guide: 2A2F41FF diff --git a/focus-editor/themes/zenburn.focus-theme b/focus-editor/themes/zenburn.focus-theme new file mode 100644 index 0000000..dfbc349 --- /dev/null +++ b/focus-editor/themes/zenburn.focus-theme @@ -0,0 +1,94 @@ +[16] # Version number. Do not delete. + +# Based on the original Zenburn Vim theme: +# https://github.com/jnurmine/Zenburn/blob/master/colors/zenburn.vim +[colors] +background0: 3F3F3FFF +background1: 282828FF +background2: 2E3330FF +background3: 2E3330FF +background4: 2E3330FF +selection_active: 304A3DFF +selection_inactive: 484848FF +selection_highlight: FCEDFC26 +search_result_active: 385f38FF +search_result_inactive: 95A99F55 +scrollbar: 28282819 +scrollbar_hover: 484848FF +scrollbar_background: 4848484C +cursor: 8FAF9FFF +cursor_inactive: 8FAF9FFF +paste_animation: 304A3DFF +splitter: 2E3330FF +splitter_hover: 2E3330FF +letter_highlight: DFDFBFFF +list_cursor_lite: 2E33304C +list_cursor: 304A3DFF +shadow_dark: 0E161C33 +shadow_transparent: 0E161C00 +text_input_label: BFC9DBFF + +ui_default: BFC9DBFF +ui_dim: 87919DFF +ui_neutral: 4C4C4CFF +ui_warning: F8AD34FF +ui_warning_dim: 986032FF +ui_error: 772222FF +ui_error_bright: FF0000FF +ui_success: 227722FF + +region_scope_export: 3F3F3FFF +region_scope_file: 484848FF +region_scope_module: 292929FF +region_header: 1A5152FF +region_success: 226022FF +region_warning: 986032FF +region_error: 772222FF +region_heredoc: 131313FF + +build_panel_background: 1F1F1FFF +build_panel_scrollbar: 33CCCC19 +build_panel_scrollbar_hover: 33CCCC4C +build_panel_scrollbar_background: 2626244C +build_panel_title_bar: 2E3330FF + +code_default: DCDCCCFF +code_comment: 7F9F7FFF +code_type: DFDFBFFF +code_function: EFEF8FFF +code_punctuation: DCDCCCFF +code_operation: F0EFD0FF +code_string_literal: CC9393FF +code_value: 8CD0D3FF +code_highlight: D89B75FF +code_error: FF0000FF +code_keyword: F0DFAFFF +code_warning: E4D97DFF +code_invalid: FF0000FF +code_multiline_string: CC9393FF +code_raw_string: CC9393FF +code_char_literal: CC9393FF +code_identifier: BFC9DBFF +code_note: E0AD82FF +code_number: D699B5FF +code_multiline_comment: 87919DFF +code_modifier: E67D74FF +code_attribute: E67D74FF +code_enum_variant: BFC9DBFF +code_macro: E0AD82FF +code_builtin_variable: D699B5FF +code_builtin_function: E0AD82FF +code_builtin_exception: E0AD82FF +code_directive: E67D74FF +code_directive_modifier: E67D74FF +code_header: E67D74FF +code_header2: E0AD82FF +code_header3: E0AD82FF +code_header4: E0AD82FF +code_header5: E0AD82FF +code_header6: E0AD82FF + +# Added after migration to version [8] +ruler: 8FAF9FFF +bracket_highlight: FCEDFC26 +indent_guide: FCEDFC26 diff --git a/gf2_config.ini b/gf2_config.ini new file mode 100644 index 0000000..35328ff --- /dev/null +++ b/gf2_config.ini @@ -0,0 +1,14 @@ +[gdb] +confirm_command_kill=0 +confirm_command_connect=0 + +[ui] +scale=1.0 +font_path=/home/igor/.local/share/fonts/c/Courier_Prime_Code.ttf +font_size_interface=13 +font_size_code=13 +width=1600 +height=1000 +maximize=1 +restore_watch_window=1 +; layout=h(75,v(75,Source,Console),v(50,t(Watch,Breakpoints,Commands,Struct,Exe),t(Stack,Files,Registers,Data,Thread)))) diff --git a/ghostty/config b/ghostty/config new file mode 100644 index 0000000..ed0a590 --- /dev/null +++ b/ghostty/config @@ -0,0 +1,40 @@ +auto-update = off +app-notifications = no-clipboard-copy + +#font-family = Source Code Pro +font-family = Courier Prime Code +font-size = 11 + +# theme = "3024 Night" +# theme = "Ayu Mirage" +# theme = "GitHub-Dark-High-Contrast" +# theme = "Atom" +theme = "Kanagawa Dragon" +# theme = "tokyonight" + +shell-integration-features = no-cursor +cursor-style-blink = true + +# macos-titlebar-style = tabs + +#unfocused-split-opacity +#unfocused-split-fill + +#window-inherit-working-directory = true|false +#focus-follows-mouse +#macos-titlebar-style = native transparent tabs and hidden + +copy-on-select = clipboard + +keybind = global:ctrl+cmd+g=toggle_quick_terminal + +keybind = ctrl+shift+opt+5=new_split:right +keybind = ctrl+shift+opt+'=new_split:down + +keybind = ctrl+shift+h=goto_split:left +keybind = ctrl+shift+l=goto_split:right +keybind = ctrl+shift+k=goto_split:top +keybind = ctrl+shift+j=goto_split:bottom + +keybind = cmd+enter=ignore +keybind = ctrl+enter=ignore diff --git a/link.sh b/link.sh new file mode 100755 index 0000000..d3ec93b --- /dev/null +++ b/link.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +dotfiles="$HOME/dotfiles" + +# Start linking +ln -s "$dotfiles/.bashrc" "$HOME/" +ln -s "$dotfiles/.vimrc" "$HOME/" +ln -s "$dotfiles/ssh_config" "$HOME/.ssh/config" +ln -s "$dotfiles/.gitconfig" "$HOME/" +ln -s "$dotfiles/.gitignore" "$HOME/" +ln -s "$dotfiles/.lldbinit" "$HOME/" +ln -s "$dotfiles/.tmux.conf" "$HOME/" +ln -s "$dotfiles/focus-editor" "$HOME/.config/" +ln -s "$dotfiles/ghostty" "$HOME/.config/" +ln -s "$dotfiles/xournalpp" "$HOME/.config/" +ln -s "$dotfiles/nvim" "$HOME/.config/" +ln -s "$dotfiles/gf2_config.ini" "$HOME/.config/" +ln -s "$dotfiles/systemd" "$HOME/.config/" diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..5e16883 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,94 @@ +filetype plugin indent on +syntax off + +"colorscheme wildcharm +colorscheme habamax + +set nobackup nowritebackup +set noswapfile + +set number + +set tabstop=4 +set shiftwidth=4 +set softtabstop=4 +set expandtab +set autoindent +set smarttab + +set mouse=a + +set laststatus=2 + +set scrolloff=5 + +set ignorecase +set hlsearch +set incsearch + +set wrap! + +set timeoutlen=1000 +set ttimeoutlen=0 +set hidden +set wildmenu +set clipboard=unnamed,unnamedplus +set colorcolumn=75 +"set backspace=indent,eol,start + +set updatetime=100 +set signcolumn=auto + +:nnoremap K + +:vnoremap > >:normal gv +:vnoremap < <:normal gv + +:vnoremap J :m '>+1gv=gv +:vnoremap K :m '<-2gv=gv + +:nnoremap H :bnextzz +:nnoremap L :bprevzz + +:nnoremap , :copen +:nnoremap > :cn +:nnoremap < :cp + +:nnoremap \\ :noh + +:nnoremap E :Ex + +:nnoremap z :set relativenumber +:nnoremap x :set norelativenumber + +xnoremap p "_dP + +:nnoremap gb :make +:nnoremap gs :w + +" Align regex +command! -nargs=? -range Align ,call AlignSection('') +vnoremap a :Align +function! AlignSection(regex) range + let extra = 1 + let sep = empty(a:regex) ? '=' : a:regex + let maxpos = 0 + let section = getline(a:firstline, a:lastline) + for line in section + let pos = match(line, ' *'.sep) + if maxpos < pos + let maxpos = pos + endif + endfor + call map(section, 'AlignLine(v:val, sep, maxpos, extra)') + call setline(a:firstline, section) +endfunction + +function! AlignLine(line, sep, maxpos, extra) + let m = matchlist(a:line, '\(.\{-}\) \{-}\('.a:sep.'.*\)') + if empty(m) + return a:line + endif + let spaces = repeat(' ', a:maxpos - strlen(m[1]) + a:extra) + return m[1] . spaces . m[2] +endfunction diff --git a/ssh_config b/ssh_config new file mode 100644 index 0000000..14e143e --- /dev/null +++ b/ssh_config @@ -0,0 +1,16 @@ +Host * + ServerAliveInterval 60 + +Host github.com + AddKeysToAgent yes + IdentityFile ~/.ssh/id_ed25519 + +Host 143.198.224.192 + User git + AddKeysToAgent yes + IdentityFile ~/.ssh/gitea + +Host git.kolokolnikov.dev + User git + AddKeysToAgent yes + IdentityFile ~/.ssh/gitea diff --git a/systemd/user/default.target.wants/fn_lock_server.service b/systemd/user/default.target.wants/fn_lock_server.service new file mode 120000 index 0000000..694cd68 --- /dev/null +++ b/systemd/user/default.target.wants/fn_lock_server.service @@ -0,0 +1 @@ +/home/igor/.config/systemd/user/fn_lock_server.service \ No newline at end of file diff --git a/systemd/user/default.target.wants/gpu-screen-recorder-ui.service b/systemd/user/default.target.wants/gpu-screen-recorder-ui.service new file mode 120000 index 0000000..ec61023 --- /dev/null +++ b/systemd/user/default.target.wants/gpu-screen-recorder-ui.service @@ -0,0 +1 @@ +/home/igor/.local/share/systemd/user/gpu-screen-recorder-ui.service \ No newline at end of file diff --git a/systemd/user/default.target.wants/syncthing.service b/systemd/user/default.target.wants/syncthing.service new file mode 120000 index 0000000..6530dfb --- /dev/null +++ b/systemd/user/default.target.wants/syncthing.service @@ -0,0 +1 @@ +/home/igor/.config/systemd/user/syncthing.service \ No newline at end of file diff --git a/systemd/user/fn_lock_server.service b/systemd/user/fn_lock_server.service new file mode 100644 index 0000000..a714efa --- /dev/null +++ b/systemd/user/fn_lock_server.service @@ -0,0 +1,10 @@ +[Unit] +Description=Apple Magic Keyboard FN Lock +After=network.target + +[Service] +ExecStart=/home/igor/Developer/linux/fn_lock_server/fn_lock_server +Type=forking + +[Install] +WantedBy=default.target diff --git a/systemd/user/syncthing.service b/systemd/user/syncthing.service new file mode 100644 index 0000000..dde08ff --- /dev/null +++ b/systemd/user/syncthing.service @@ -0,0 +1,27 @@ +[Unit] +Description=Syncthing - Open Source Continuous File Synchronization +Documentation=man:syncthing(1) +StartLimitIntervalSec=60 +StartLimitBurst=4 + +[Service] +Environment="STLOGFORMATTIMESTAMP=" +Environment="STLOGFORMATLEVELSTRING=false" +Environment="STLOGFORMATLEVELSYSLOG=true" +ExecStart=/home/igor/.local/bin/syncthing serve --no-browser --no-restart +Restart=on-failure +RestartSec=1 +SuccessExitStatus=3 4 +RestartForceExitStatus=3 4 + +# Hardening +SystemCallArchitectures=native +MemoryDenyWriteExecute=true +NoNewPrivileges=true + +# Elevated permissions to sync ownership (disabled by default), +# see https://docs.syncthing.net/advanced/folder-sync-ownership +#AmbientCapabilities=CAP_CHOWN CAP_FOWNER + +[Install] +WantedBy=default.target diff --git a/xournalpp/palette.gpl b/xournalpp/palette.gpl new file mode 100644 index 0000000..7aaaa4c --- /dev/null +++ b/xournalpp/palette.gpl @@ -0,0 +1,14 @@ +GIMP Palette +Name: Xournal Default Palette +# +0 0 0 Black +0 128 0 Green +0 192 255 Light Blue +0 255 0 Light Green +51 51 204 Blue +128 128 128 Gray +255 0 0 Red +255 0 255 Magenta +255 128 0 Orange +255 255 0 Yellow +255 255 255 White diff --git a/xournalpp/plugins/xournal-keys/main.lua b/xournalpp/plugins/xournal-keys/main.lua new file mode 100644 index 0000000..109c871 --- /dev/null +++ b/xournalpp/plugins/xournal-keys/main.lua @@ -0,0 +1,282 @@ +-- Things I might want to add: +-- -ACTION_TOOL_DRAW_COORDINATE_SYSTEM (currently no way to turn it off!) +-- -ACTION_TOOL_DRAW_LINE currently doesn't exist! + + +-- Register all Toolbar actions and intialize all UI stuff +function initUi() + app.registerUi({["menu"] = "Pen", ["callback"] = "pen", ["accelerator"] = "b"}); + app.registerUi({["menu"] = "Select Region", ["callback"] = "lasso", ["accelerator"] = "g"}); + + -- app.registerUi({["menu"] = "Blue Pen", ["callback"] = "blue_pen", ["accelerator"] = "f"}); + -- app.registerUi({["menu"] = "Red Pen", ["callback"] = "red_pen", ["accelerator"] = "c"}); + -- app.registerUi({["menu"] = "Green Pen", ["callback"] = "green_pen", ["accelerator"] = "s"}); + -- app.registerUi({["menu"] = "Orange Pen", ["callback"] = "orange_pen", ["accelerator"] = "a"}); + -- app.registerUi({["menu"] = "Cyan Pen", ["callback"] = "cyan_pen", ["accelerator"] = "z"}); + -- app.registerUi({["menu"] = "Magenta Pen", ["callback"] = "magenta_pen", ["accelerator"] = "d"}); + -- app.registerUi({["menu"] = "Lime Pen", ["callback"] = "lime_pen", ["accelerator"] = "x"}); + -- app.registerUi({["menu"] = "Black Pen", ["callback"] = "black_pen", ["accelerator"] = "v"}); + + app.registerUi({["menu"] = "Highlighter", ["callback"] = "yellow_hl", ["accelerator"] = "f"}); + -- app.registerUi({["menu"] = "Blue Highlighter", ["callback"] = "blue_hl", ["accelerator"] = "f"}); + -- app.registerUi({["menu"] = "Red Highlighter", ["callback"] = "red_hl", ["accelerator"] = "d"}); + -- app.registerUi({["menu"] = "Green Highlighter", ["callback"] = "green_hl", ["accelerator"] = "s"}); + -- app.registerUi({["menu"] = "Yellow Highlighter", ["callback"] = "yellow_hl", ["accelerator"] = "a"}); + + app.registerUi({["menu"] = "Undo", ["callback"] = "undo", ["accelerator"] = "r"}); + app.registerUi({["menu"] = "Redo", ["callback"] = "redo", ["accelerator"] = "r"}); + app.registerUi({["menu"] = "Copy", ["callback"] = "copy", ["accelerator"] = "Insert"}); + app.registerUi({["menu"] = "Paste", ["callback"] = "paste", ["accelerator"] = "Insert"}); + app.registerUi({["menu"] = "Cut", ["callback"] = "cut", ["accelerator"] = "x"}); + app.registerUi({["menu"] = "Delete", ["callback"] = "delete", ["accelerator"] = "BackSpace"}); + app.registerUi({["menu"] = "Eraser", ["callback"] = "eraser", ["accelerator"] = "e"}); + app.registerUi({["menu"] = "Select Object", ["callback"] = "select_object", ["accelerator"] = "g"}); + -- app.registerUi({["menu"] = "Draw Coordinates", ["callback"] = "draw_coords", ["accelerator"] = "q"}); + app.registerUi({["menu"] = "Ruler", ["callback"] = "ruler", ["accelerator"] = "w"}); + app.registerUi({["menu"] = "Ruler Arrow", ["callback"] = "ruler_arrow", ["accelerator"] = "w"}); + app.registerUi({["menu"] = "Ruler Double Arrow", ["callback"] = "ruler_arrow_double", ["accelerator"] = "w"}); + + app.registerUi({["menu"] = "Style Plain", ["callback"] = "pen_plain", ["accelerator"] = "1"}); + app.registerUi({["menu"] = "Style Dash", ["callback"] = "pen_dash", ["accelerator"] = "2"}); + app.registerUi({["menu"] = "Style Dot", ["callback"] = "pen_dot", ["accelerator"] = "3"}); + app.registerUi({["menu"] = "Style Dash Dot", ["callback"] = "pen_dash_dot", ["accelerator"] = "4"}); + + app.registerUi({["menu"] = "Size Fine", ["callback"] = "size_fine", ["accelerator"] = "exclam"}); + app.registerUi({["menu"] = "Size Medium", ["callback"] = "size_medium", ["accelerator"] = "at"}); + app.registerUi({["menu"] = "Size Thick", ["callback"] = "size_thick", ["accelerator"] = "numbersign"}); + + app.registerUi({["menu"] = "Clear", ["callback"] = "delete", ["accelerator"] = "q"}); + app.registerUi({["menu"] = "Clear", ["callback"] = "delete_all", ["accelerator"] = "q"}); + + app.registerUi({["menu"] = "Hand", ["callback"] = "hand", ["accelerator"] = "v"}); +end + +-- "pen" or "highlighter"; +-- local currentTool = "pen" + +function hand() + app.uiAction({["action"] = "ACTION_TOOL_HAND"}) +end + +function pen() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_PLAIN"}) +-- currentTool = "pen" +end + +function pen_plain() + app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_PLAIN"}) +end + +function pen_dash() + app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_DASH"}) +end + +function pen_dash_dot() + app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_DASH_DOT"}) +end + +function pen_dot() + app.uiAction({["action"] = "ACTION_TOOL_LINE_STYLE_DOT"}) +end + +--function highlighter() +-- app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"}) +-- app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) +-- app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) +-- currentTool = "highlighter" +--end + +-- Notes: Changing selected strokes is not working. If there are no selected strokes, +-- or the current tool is not a pen/HL, then app.changeToolColor throws an error. +-- To make it work, we need some way of programatically testing if there is a selection. +function blue_pen() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0x3333CC, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0x1313CC, ["tool"] = "pen"}) +end + +function blue_hl() + app.changeToolColor({["color"] = 0x20D0FF, ["tool"] = "highlighter"}) + app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) +end + +function green_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0x008000, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0x00A000, ["tool"] = "pen"}) +end + +function green_hl() + app.changeToolColor({["color"] = 0x00FF00, ["tool"] = "highlighter"}) + app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) +end + +function red_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0xEF0044, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0xEF0044, ["tool"] = "pen"}) +end + +function red_hl() + app.changeToolColor({["color"] = 0xFF55FF, ["tool"] = "highlighter"}) + app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) +end + +function orange_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0xEF7000, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0xEF7000, ["tool"] = "pen"}) +end + +function yellow_hl() + app.changeToolColor({["color"] = 0xEEFF00, ["tool"] = "highlighter"}) + app.uiAction({["action"] = "ACTION_TOOL_HIGHLIGHTER"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) +end + +function cyan_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0x00BFE6, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0x00BFE6, ["tool"] = "pen"}) +end + +function magenta_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0xCC00CC, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0xCC00CC, ["tool"] = "pen"}) +end + +function lime_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0xBFE600, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0xBFE600, ["tool"] = "pen"}) +end + +function black_pen() + -- This changes the color of currently selected strokes + -- app.changeToolColor({["color"] = 0x000000, ["selection"] = true}) + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM", ["enabled"] = false}) + app.uiAction({["action"] = "ACTION_TOOL_RULER", ["enabled"] = false}) + -- This changes the color of the pen + app.changeToolColor({["color"] = 0x000000, ["tool"] = "pen"}) +end + +function lasso() + app.uiAction({["action"] = "ACTION_TOOL_SELECT_REGION"}) +end + +function undo() + app.uiAction({["action"] = "ACTION_UNDO"}) +end + +function redo() + app.uiAction({["action"] = "ACTION_REDO"}) +end + +function copy() + app.uiAction({["action"] = "ACTION_COPY"}) +end + +function cut() + app.uiAction({["action"] = "ACTION_CUT"}) +end + +function paste() + app.uiAction({["action"] = "ACTION_PASTE"}) +end + +function delete() + app.uiAction({["action"] = "ACTION_DELETE"}) +end + +function delete_all() + select_all() + app.uiAction({["action"] = "ACTION_DELETE"}) +end + +function eraser() + app.uiAction({["action"] = "ACTION_TOOL_ERASER"}) +end + +function select_all() + app.uiAction({["action"] = "ACTION_SELECT_ALL"}) +end + +function select_object() + app.uiAction({["action"] = "ACTION_TOOL_SELECT_OBJECT"}) +end + +function ruler() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_RULER"}) +-- currentTool = "pen" +end + +function ruler_arrow() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_ARROW"}) +-- currentTool = "pen" +end + +function ruler_arrow_double() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_DOUBLE_ARROW"}) +-- currentTool = "pen" +end + +function draw_coords() + app.uiAction({["action"] = "ACTION_TOOL_PEN"}) + app.uiAction({["action"] = "ACTION_TOOL_DRAW_COORDINATE_SYSTEM"}) +-- currentTool = "pen" +end + +function size_fine() + app.uiAction({["action"] = "ACTION_SIZE_FINE"}) +end + +function size_medium() + app.uiAction({["action"] = "ACTION_SIZE_MEDIUM"}) +end + +function size_thick() + app.uiAction({["action"] = "ACTION_SIZE_THICK"}) +end diff --git a/xournalpp/plugins/xournal-keys/plugin.ini b/xournalpp/plugins/xournal-keys/plugin.ini new file mode 100644 index 0000000..14152bf --- /dev/null +++ b/xournalpp/plugins/xournal-keys/plugin.ini @@ -0,0 +1,15 @@ +[about] +## Author / Copyright notice +author=Ben Smith + +description=Creates some useful key bindings. + +## If the plugin is packed with Xournal++, use +## then it gets the same version number +version=0.1 + +[default] +enabled=true + +[plugin] +mainfile=main.lua diff --git a/xournalpp/settings.xml b/xournalpp/settings.xml new file mode 100644 index 0000000..cc61513 --- /dev/null +++ b/xournalpp/settings.xml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xournalpp/toolbar.ini b/xournalpp/toolbar.ini new file mode 100644 index 0000000..d98b2bc --- /dev/null +++ b/xournalpp/toolbar.ini @@ -0,0 +1,44 @@ +## Xournal++ Toolbar configuration +## Here you can customize the Toolbars +# Delete this file to generate a new config file with default values +# +# Available buttons: +# File: NEW,OPEN,SAVE,SAVEPDF,PRINT +# +# Edit: UNDO,REDO,CUT,COPY,PASTE,SEARCH,DELETE,ROTATION_SNAPPING,GRID_SNAPPING +# +# View: PAIRED_PAGES,PRESENTATION_MODE,FULLSCREEN,MANAGE_TOOLBAR,CUSTOMIZE_TOOLBAR,ZOOM_OUT,ZOOM_IN,ZOOM_FIT,ZOOM_100 +# +# Navigation: GOTO_FIRST,GOTO_BACK,GOTO_PAGE,GOTO_NEXT,GOTO_LAST,GOTO_PREVIOUS_LAYER,GOTO_NEXT_LAYER,GOTO_TOP_LAYER, +# GOTO_NEXT_ANNOTATED_PAGE +# +# Journal: INSERT_NEW_PAGE,DELETE_CURRENT_PAGE +# +# Tool: PEN,PLAIN,DASHED,DASH-/ DOTTED,DOTTED,ERASER,HIGHLIGHTER,TEXT,MATH_TEX,IMAGE,DEFAULT_TOOL,SHAPE_RECOGNIZER,SELECT_PDF_TEXT_LINEAR, +# SELECT_PDF_TEXT_RECT,DRAW_RECTANGLE,DRAW_ELLIPSE,DRAW_ARROW,DRAW_DOUBLE_ARROW,DRAW_COORDINATE_SYSTEM,RULER,DRAW_SPLINE, +# SELECT_REGION,SELECT_RECTANGLE,SELECT_MULTILAYER_REGION,SELECT_MULTILAYER_RECTANGLE,SELECT_OBJECT,VERTICAL_SPACE,PLAY_OBJECT, +# HAND,SETSQUARE,COMPASS,SELECT_FONT,AUDIO_RECORDING,AUDIO_PAUSE_PLAYBACK,AUDIO_STOP_PLAYBACK,AUDIO_SEEK_FORWARDS,AUDIO_SEEK_BACKWARDS +# Notice: ERASER and PEN also have drop down menus to select the type, SELECT are all selection tools, with drop down menu +# +# Footer tools: PAGE_SPIN,ZOOM_SLIDER,LAYER,TOOL_FILL,PEN_FILL_OPACITY +# PAGE_SPIN: The page spiner, incl. current page label +# ZOOM_SLIDER: The zoom slider +# LAYER: The layer dropdown menu +# +# Color: COLOR(0),COLOR(1),COLOR(2),COLOR(3),COLOR(4),COLOR(5),COLOR(6),COLOR(7),COLOR(8),COLOR(9),COLOR(10),COLOR_SELECT +# Notice: The colors reference the respective color in the palette.gpl file. +# For backwards compatibility the hex representation, e.g. COLOR(0xff8000), is still permitted. However, the hex value +# will be IGNORED in favour of the "next" palette color. They will be automatically migrated when the user customizes +# the respective toolbar configuration. +# +# Non-menu items: SELECT,DRAW,PDF_TOOL +# +# Tool configuration: VERY_FINE,FINE,MEDIUM,THICK,VERY_THICK +# +# Item separation: SEPARATOR,SPACER +# +# +[Xournal++ Copy] +toolbarTop1=SAVE,NEW,OPEN,SEPARATOR,SAVEPDF,PRINT,SEPARATOR,SEPARATOR,SEPARATOR,PEN,ERASER,HIGHLIGHTER,PLAIN,DASHED,DOTTED,IMAGE,TEXT,MATH_TEX,DRAW,SEPARATOR,SELECT,VERTICAL_SPACE,HAND,SEPARATOR,FINE,MEDIUM,THICK,SEPARATOR,TOOL_FILL,SEPARATOR,COLOR(0),COLOR(1),COLOR(2),COLOR(3),COLOR(4),COLOR(5),COLOR(6),COLOR(7),COLOR(8),COLOR(9),COLOR(10),COLOR_SELECT,SEPARATOR,SELECT_FONT +toolbarBottom1=PAGE_SPIN,SEPARATOR,LAYER,GOTO_FIRST,GOTO_NEXT_ANNOTATED_PAGE,GOTO_LAST,INSERT_NEW_PAGE,DELETE_CURRENT_PAGE,SPACER,PAIRED_PAGES,PRESENTATION_MODE,ZOOM_100,ZOOM_FIT,ZOOM_OUT,ZOOM_SLIDER,ZOOM_IN,SEPARATOR,FULLSCREEN +name=Xournal++ Copy