Compare commits

..

87 Commits

Author SHA1 Message Date
Шашкин Николай 512877ee89 .vim updated 2023-08-16 16:43:56 +03:00
Шашкин Николай 4ab61c116a .hgrc updated 2023-08-16 16:43:52 +03:00
Шашкин Николай a6cb55bfc3 .mc updated 2023-08-16 16:43:39 +03:00
Kolan Sh e2fac5676e Vim: +colorscheme: shine->default 2023-07-02 20:23:38 +03:00
Шашкин Николай 4e9c42b1d3 mc.ext -> mc.ext.ini 2023-05-17 20:15:43 +03:00
Kolan Sh 9f564fb662 .vimrc: colorscheme shine 2022-09-27 16:09:28 +03:00
Kolan Sh c7e7e5fb52 rm plugin/VimExplorer.vim 2021-11-15 12:56:34 +03:00
Kolan Sh 93a4023c2c tmux: bindings updated 2021-07-29 16:01:15 +03:00
Kolan Sh 44364e60a6 tmux: history-limit 32768 2021-05-13 16:51:50 +03:00
Kolan Sh b078e47ead VimDiff: ctermfg=white 2021-03-30 03:13:36 +03:00
Kolan Sh 2e028f8a9e Vim: ColorColumn = lightgrey 2021-03-30 03:07:58 +03:00
Kolan Sh d4ebc8ea46 Vim: change default scheme to desert 2021-03-30 02:58:29 +03:00
Kolan Sh 8fdd24562b htop: +Average CPU Bar 2019-11-21 13:02:20 +03:00
Kolan Sh 9df976d32a .vimrc: ctags&cscope: read also tags and cscope.out. 2019-11-07 16:26:58 +03:00
Kolan Sh c0bdea20b6 .vimrc: .cscope recursive search 2019-11-07 15:59:25 +03:00
Kolan Sh 5560e429ad .vimrc: .ctags recursive search 2019-11-06 21:24:06 +03:00
Kolan Sh 5b78c5a80d .vimrc: nofixendofline 2019-10-30 13:01:45 +03:00
Kolan Sh 491aa0987b tagbar.vim removed: maintaned through bundle/vundle 2019-08-14 10:55:44 +03:00
Kolan Sh 511a0c794b mc:ini updated 2019-06-13 11:04:09 +03:00
Kolan Sh c3eb2b73d6 htoprc updated 2019-06-13 11:02:58 +03:00
Kolan Sh d80f5d5e85 pager.branch = false 2019-05-17 16:43:10 +03:00
Kolan Sh cded9f41d3 .gitconfig updated 2019-03-26 12:29:50 +03:00
Kolan Sh 881c4f4a2f .gitconfig updated 2019-03-19 11:54:13 +03:00
Kolan Sh 536310e3a0 Vim: command mode with russian keys. 2018-07-27 11:09:40 +03:00
Kolan Sh 1456f092ca mc && hgrc updated 2018-01-01 15:42:02 +03:00
Kolan Sh dd0f57a98a dircolors updated 2017-12-30 19:14:33 +03:00
Kolan Sh eab395dcf2 dircolors updated 2017-12-30 19:02:52 +03:00
Kolan Sh 4cb277e2a0 Vim: do not expand tabs by default. 2016-10-25 11:19:43 +03:00
Kolan Sh 94486c24bb git config: decorate->tag = magenta. 2016-10-04 02:00:49 +03:00
Kolan Sh a0e122d20f git config: yellow bold -> yellow as yellow bold not seen on white background. 2016-10-03 16:34:21 +03:00
Kolan Sh 4946a214ed dircolors*: multiple hardlinks not seen on white background. 2016-09-25 16:27:23 +03:00
Kolan Sh 1a3360e8a3 Revert "Vim: Yggdroot/indentLine added."
This reverts commit 8c4b8a3f96.
2016-02-20 10:51:52 +03:00
Kolan Sh 8c4b8a3f96 Vim: Yggdroot/indentLine added. 2016-02-13 12:57:48 +03:00
Kolan Sh 184d5ecd8c git glog alias added. 2015-09-03 13:27:02 +03:00
Kolan Sh fde5e4712e Tab keys remapped. 2015-08-26 14:12:25 +03:00
Kolan Sh f4fbbaa5a5 Mercurial hostfingerprints updated 2015-03-06 15:20:37 +03:00
Kolan Sh 4ee00217bf Mercurial hosts fingerprints updated. 2015-03-06 14:52:47 +03:00
Kolan Sh 84c18a41fe Git: Do not check SSL certificate. 2015-01-10 18:42:04 +03:00
Kolan Sh 4715d6747b Disable throw-away windows in TMUX. 2014-12-22 18:38:19 +03:00
Kolan Sh 4995e91b0f Disable rstacruz/sparkup plugin (Ctrl+E in *.php) brokes the code. 2014-09-06 13:01:24 +04:00
Kolan Sh e486602a60 Vimrc: set breakindent 2014-06-27 00:42:06 +04:00
Kolan Sh 36c3f59e05 Vimrc: set breakindent 2014-06-27 00:26:52 +04:00
Kolan Sh 0ea91c28e2 .tmux.conf updated 2014-06-26 19:16:13 +04:00
Kolan Sh 439f874b82 Vimrc: Vala/Cpp linewidths. 2014-04-28 11:45:05 +04:00
Kolan Sh 27462c1e7d Vim: g:clang_complete_copen = 0 2014-04-11 16:32:45 +04:00
Kolan Sh f2a3713bd0 Tabs in Vala files. 2014-02-12 15:04:56 +04:00
Kolan Sh 826a49cd27 Indents for sh-files added 2014-02-11 16:01:40 +04:00
Kolan Sh f5478c7cb9 Git/Hg: Email updated 2014-01-17 13:49:59 +04:00
Kolan Sh 6575b20736 NerdCommenter added 2013-11-03 17:34:47 +04:00
Kolan Sh 90b014ca57 links configuration updated 2013-09-25 17:10:01 +04:00
Kolan Sh 356127e831 Vim: fugitive Git plugin added. 2013-09-05 11:10:19 +04:00
Kolan Sh ab9bacae6b .htoprc removed 2013-08-06 14:19:52 +04:00
Kolan Sh 7ed7aafdcd Vim colors updated 2013-08-02 18:11:25 +04:00
Kolan Sh b80a59cbd6 Clang autocomplete added. 2013-08-02 17:36:49 +04:00
Kolan Sh 9c4f64c210 Vim colors updated 2013-08-02 17:36:31 +04:00
Kolan Sh 3d10ea0ba3 Vim: tabsize 8->4 2013-06-20 17:26:50 +04:00
Kolan Sh 8d08b77999 Vim: vim-startify plugin added to Vundle list. 2013-06-01 15:39:58 +04:00
Kolan Sh 299284c149 VimDiff: do/dp shortcuts for 3-way diffs. 2013-04-10 14:30:36 +04:00
Kolan Sh b8a726bd5e Git config updated. 2013-04-10 13:54:46 +04:00
Kolan Sh dd675d0aae Vim: CPP indent 2013-04-09 13:02:46 +04:00
Kolan Sh 90fc0366e5 Vim: tabs widths updated. 2013-04-02 12:53:48 +04:00
Kolan Sh 04072f63c8 tmux: TERM=screen-256color 2013-04-01 15:32:08 +04:00
Kolan Sh 56868caed4 TERM=xterm-256color on master 2013-03-29 10:54:19 +04:00
Kolan Sh fb9fd2a520 Hack for xterm-keys. 2013-03-27 16:11:31 +04:00
Kolan Sh bf333221be tmux.conf: default-terminal=screen-256color 2013-03-23 20:43:00 +04:00
Kolan Sh 952e8455a3 .dircolors updated!!! 2013-03-18 16:29:31 +04:00
Kolan Sh b99fc8bdd7 .dircolors_256 updated!!! 2013-03-18 15:38:16 +04:00
Kolan Sh 83576030a9 .dircolors_256 updated!!! 2013-03-18 15:36:51 +04:00
Kolan Sh 78dfbf197d LS_COLORS set by dircolors. 2013-03-15 15:59:58 +04:00
Kolan Sh 5f9a31800e .nanorc added. 2013-03-15 12:43:51 +04:00
Kolan Sh cf46c4c692 LS_COLORS set by dircolors. 2013-03-15 12:35:31 +04:00
Kolan Sh 932e257374 LS_COLORS set by dircolors. 2013-03-15 12:30:36 +04:00
Kolan Sh 3e37fd2288 tmux.conf: TERM=xterm-256color 2013-03-13 15:01:53 +04:00
Kolan Sh 51cdf723b1 Removing explicit TERM setup. 2013-03-13 14:38:26 +04:00
Kolan Sh 26fcac35b1 cgdb works incorrectly with TERM=xterm-256color, so ->screen-256color 2013-03-13 11:43:13 +04:00
Kolan Sh 302ada26d0 git config --global push.default matching 2013-03-06 19:21:26 +04:00
Kolan Sh 4ccd1c8b26 Bundle 'majutsushi/tagbar' 2013-03-04 16:31:15 +04:00
Kolan Sh 7b9790db8a tmux.conf: screen-256color -> xterm-256color 2013-03-03 16:17:59 +04:00
Kolan Sh 1f94e77f04 .vimrc: Bundle 'vim-tags' 2013-02-28 12:13:44 +04:00
Kolan Sh 3929458462 Vim: fileencodings. 2013-02-27 16:33:03 +04:00
Kolan Sh f660b0ccd9 tmux.conf: screen-256color 2013-02-26 19:19:41 +04:00
Kolan Sh 9bcc03312f removed 'default-terminal' string 2013-02-23 18:23:32 +04:00
Kolan Sh e561be78fc .vim/ updated 2013-02-04 18:00:48 +04:00
Kolan Sh 5715dce618 vimrc updated 2013-02-04 17:58:09 +04:00
Kolan Sh 53823fd2d5 cp branch:.hgrc -> master:.hgrc 2013-01-25 16:46:11 +04:00
Kolan Sh 57eabc41b3 htoprc added 2013-01-21 19:31:59 +04:00
Kolan Sh aa4ed0788d gitconfig updated 2012-12-20 23:29:57 +04:00
32 changed files with 10 additions and 3551 deletions

View File

@ -1,4 +0,0 @@
#include ".urxvt/Xdefaults"
#include ".fonts/Xdefaults"
! Xcursor.theme: gentoo-silver

View File

@ -1,12 +0,0 @@
-DDEBUG
-I/usr/lib64/clang/3.1/include
-I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4
-I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4/x86_64-pc-linux-gnu
-I/usr/include/linux
-I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/include
-I/usr/include/glib-2.0
-I/usr/include/glib-2.0/glib
-I/usr/lib/glib-2.0/include
-I/usr/include/glib-2.0/gio
-I/usr/include/glib-2.0/gobject

View File

@ -1,44 +0,0 @@
[ui_files]
0=/usr/share/lyx/ui/default.ui
0\date=@Variant(\0\0\0\x10\0%x\xcd\x3j_\xd8\x1)
[views]
0\pos=@Point(3 30)
0\size=@Size(1672 998)
0\layout=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x6\0t\0o\0\x63\0\0\0\0\0\xff\xff\xff\xff\0\0\x1[\0\xff\xff\xff\0\0\0\x3\0\0\0\0\0\0\0\0\xfc\x1\0\0\0\x1\xfb\0\0\0\x16\0v\0i\0\x65\0w\0-\0s\0o\0u\0r\0\x63\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\xb6\0\xff\xff\xff\0\0\x6\x88\0\0\x3\xa0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1d\0\0\0\x2\0\0\0\x3\0\0\0\x10\0s\0t\0\x61\0n\0\x64\0\x61\0r\0\x64\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\n\0\x65\0x\0t\0r\0\x61\x1\0\0\x2s\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0v\0i\0\x65\0w\0/\0u\0p\0\x64\0\x61\0t\0\x65\x1\0\0\x4\xfb\0\0\0P\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\f\0r\0\x65\0v\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x6\0v\0\x63\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\n\0t\0\x61\0\x62\0l\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\b\0m\0\x61\0t\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\"\0m\0\x61\0t\0h\0m\0\x61\0\x63\0r\0o\0t\0\x65\0m\0p\0l\0\x61\0t\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x14\0m\0i\0n\0i\0\x62\0u\0\x66\0\x66\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0m\0\x61\0t\0h\0_\0p\0\x61\0n\0\x65\0l\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x12\0\x66\0u\0n\0\x63\0t\0i\0o\0n\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\n\0s\0p\0\x61\0\x63\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0s\0q\0r\0t\0-\0s\0q\0u\0\x61\0r\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\n\0s\0t\0y\0l\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0\x66\0r\0\x61\0\x63\0-\0s\0q\0u\0\x61\0r\0\x65\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\b\0\x66\0o\0n\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x14\0l\0\x61\0t\0\x65\0x\0_\0\x64\0o\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x14\0l\0\x61\0t\0\x65\0x\0_\0\x64\0\x65\0\x63\0o\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0l\0\x61\0t\0\x65\0x\0_\0\x61\0r\0r\0o\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x12\0l\0\x61\0t\0\x65\0x\0_\0\x62\0o\0p\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x14\0l\0\x61\0t\0\x65\0x\0_\0\x62\0r\0\x65\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0l\0\x61\0t\0\x65\0x\0_\0g\0r\0\x65\0\x65\0k\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x14\0l\0\x61\0t\0\x65\0x\0_\0m\0i\0s\0\x63\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x16\0l\0\x61\0t\0\x65\0x\0_\0v\0\x61\0r\0s\0z\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x1c\0l\0\x61\0t\0\x65\0x\0_\0\x61\0m\0s\0_\0m\0i\0s\0\x63\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0 \0l\0\x61\0t\0\x65\0x\0_\0\x61\0m\0s\0_\0\x61\0r\0r\0o\0w\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x1a\0l\0\x61\0t\0\x65\0x\0_\0\x61\0m\0s\0_\0r\0\x65\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x1c\0l\0\x61\0t\0\x65\0x\0_\0\x61\0m\0s\0_\0n\0r\0\x65\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\0\x1\0\0\0\x1a\0l\0\x61\0t\0\x65\0x\0_\0\x61\0m\0s\0_\0o\0p\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
0\icon_size=@Size(14 14)
0\extra\visibility=5
0\font\visibility=10
0\frac-square\visibility=10
0\functions\visibility=10
0\latex_ams_arrows\visibility=10
0\latex_ams_misc\visibility=10
0\latex_ams_nrel\visibility=10
0\latex_ams_ops\visibility=10
0\latex_ams_rel\visibility=10
0\latex_arrow\visibility=10
0\latex_bop\visibility=10
0\latex_brel\visibility=10
0\latex_deco\visibility=10
0\latex_dots\visibility=10
0\latex_greek\visibility=10
0\latex_misc\visibility=10
0\latex_varsz\visibility=10
0\math\visibility=200
0\math_panels\visibility=200
0\mathmacrotemplate\visibility=1096
0\minibuffer\visibility=10
0\review\visibility=580
0\space\visibility=10
0\sqrt-square\visibility=10
0\standard\visibility=5
0\style\visibility=10
0\table\visibility=328
0\vcs\visibility=6
0\view\update\visibility=5
0\aboutlyx\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x1\x2\0\0\0\xaa\0\0\x2J\0\0\x1\xd6\0\0\x1\x3\0\0\0\xbc\0\0\x2I\0\0\x1\xd5\0\0\0\0\0\0)
0\prefs\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\xdd\0\0\0\x17\0\0\x3\xc7\0\0\x1\xf8\0\0\0\xde\0\0\0)\0\0\x3\xc6\0\0\x1\xf7\0\0\0\0\0\0)
0\toc\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\xcf\0\0\x1Z\0\0\0\0\0\0\0\0\0\0\0\xcf\0\0\x1Z\0\0\0\0\0\0)
0\view-source\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x1\xb5\0\0\0[\0\0\0\0\0\0\0\0\0\0\x1\xb5\0\0\0[\0\0\0\0\0\0)
0\view-source\fullsource=false
0\view-source\autoupdate=true

View File

@ -1,192 +0,0 @@
[geany]
default_open_path=/home/kolan
cmdline_new_files=true
notebook_double_click_hides_widgets=false
tab_pos_sidebar=2
highlighting_invert_all=false
pref_main_suppress_search_dialogs=false
pref_main_search_use_current_word=true
check_detect_indent=false
use_tab_to_indent=true
pref_editor_tab_width=8
indent_hard_tab_width=8
indent_mode=2
indent_type=1
autocomplete_doc_words=false
completion_drops_rest_of_word=false
autocompletion_max_entries=30
mru_length=10
disk_check_timeout=30
show_editor_scrollbars=true
brace_match_ltgt=false
use_gtk_word_boundaries=true
complete_snippets_whilst_editing=false
show_symbol_list_expanders=true
allow_always_save=false
use_safe_file_saving=false
documents_show_paths=true
sidebar_page=2
pref_main_load_session=true
pref_main_project_session=true
pref_main_project_file_in_basedir=true
pref_main_save_winpos=true
pref_main_confirm_exit=false
pref_main_suppress_status_messages=false
switch_msgwin_pages=false
beep_on_errors=true
auto_focus=false
sidebar_symbol_visible=true
sidebar_openfiles_visible=true
editor_font=Liberation Mono 8
tagbar_font=Sans 8
msgwin_font=Sans 8
show_notebook_tabs=true
show_tab_cross=true
tab_order_ltr=true
tab_pos_editor=2
tab_pos_msgwin=0
show_indent_guide=false
show_white_space=false
show_line_endings=false
show_markers_margin=true
show_linenumber_margin=true
long_line_type=0
long_line_column=72
long_line_color=#C2EBC2
symbolcompletion_max_height=10
symbolcompletion_min_chars=4
use_folding=true
unfold_all_children=true
use_indicators=true
line_wrapping=true
auto_close_xml_tags=true
complete_snippets=true
auto_complete_symbols=true
pref_editor_disable_dnd=false
pref_editor_smart_home_key=true
pref_editor_newline_strip=true
line_break_column=72
auto_continue_multiline=true
comment_toggle_mark=~
scroll_stop_at_last_line=true
autoclose_chars=31
pref_editor_default_new_encoding=UTF-8
pref_editor_default_open_encoding=WINDOWS-1251
default_eol_character=2
pref_editor_new_line=true
pref_editor_replace_tabs=false
pref_editor_trail_space=true
pref_toolbar_show=true
pref_toolbar_append_to_menu=false
pref_toolbar_icon_style=0
pref_toolbar_icon_size=0
pref_template_developer=Kolan Sh.
pref_template_company=InSys Ltd
pref_template_mail=mecareful@gmail.com
pref_template_initial=SNS
pref_template_version=1.0
pref_template_year=%Y
pref_template_date=%Y-%m-%d
pref_template_datetime=%d.%m.%Y %H:%M:%S %Z
context_action_cmd=
sidebar_visible=true
statusbar_visible=true
msgwindow_visible=true
fullscreen=false
scribble_text=
scribble_pos=0
treeview_position=0
msgwindow_position=687
geometry=3;30;1672;968;0;
custom_date_format=
sidebar_pos=0
virtualspace=1
color_scheme=
compiler_tab_autoscroll=true
tab_order_beside=false
msgwin_status_visible=true
msgwin_compiler_visible=true
msgwin_messages_visible=true
msgwin_scribble_visible=true
use_native_windows_dialogs=false
long_line_enabled=true
pref_toolbar_use_gtk_default_style=false
pref_toolbar_use_gtk_default_icon=true
gio_unsafe_save_backup=false
find_selection_type=0
statusbar_template=
new_document_after_close=false
pref_editor_ensure_convert_line_endings=false
[search]
pref_search_current_file_dir=true
find_all_expanded=false
replace_all_expanded=true
fif_mode=0
fif_extra_options=
fif_case_sensitive=true
fif_match_whole_word=false
fif_invert_results=false
fif_recursive=false
fif_use_extra_options=false
position_find_x=90
position_find_y=386
position_replace_x=800
position_replace_y=464
position_fif_x=1154
position_fif_y=409
fif_regexp=false
fif_files=
fif_use_files=false
[plugins]
load_plugins=true
custom_plugin_path=/home/kolan/.geany/plugins
active_plugins=/usr/lib64/geany/codenav.so;/usr/lib64/geany/geanyextrasel.so;/usr/lib64/geany/geanylatex.so;/usr/lib64/geany/spellcheck.so;/usr/lib64/geany/treebrowser.so;/usr/lib64/geany/classbuilder.so;/usr/lib64/geany/saveactions.so;/usr/lib64/geany/addons.so;/usr/lib64/geany/splitwindow.so;/usr/lib64/geany/shiftcolumn.so;/usr/lib64/geany/htmlchars.so;/usr/lib64/geany/export.so;
[tools]
make_cmd=make
term_cmd=urxvt
browser_cmd=firefox
grep_cmd=grep
[printing]
print_cmd=
use_gtk_printing=true
print_line_numbers=true
print_page_numbers=true
print_page_header=true
page_header_basename=false
page_header_datefmt=%c
[VTE]
load_vte=true
emulation=xterm
font=Terminus 10
scroll_on_key=true
scroll_on_out=true
enable_bash_keys=false
ignore_menu_bar_accel=false
follow_path=true
run_in_vte=true
skip_run_script=false
cursor_blinks=true
scrollback_lines=500
shell=/bin/bash
colour_fore=#FFFFFF
colour_back=#000000
last_dir=/home/kolan/projects/dataserver
send_selection_unsafe=false
[project]
session_file=/home/kolan/projects/dataserver/dataserver.geany
project_file_path=/home/kolan/projects
[files]
recent_files=/home/kolan/projects/dataserver/netfuncs.h;/home/kolan/projects/dataserver/netfuncs.c;/home/kolan/projects/dataserver/mpool.h;/home/kolan/projects/dataserver/mpool.c;/home/kolan/projects/dataserver/xerror.c;/home/kolan/projects/dataserver/xerror.h;/home/kolan/projects/dataserver/xmalloc.h;/home/kolan/projects/dataserver/xmalloc.c;/home/kolan/dev/c/malloc_speed_test/pool_list.c;/home/kolan/projects/dataserver/dataserver.c;
recent_projects=/home/kolan/projects/dataserver/dataserver.geany;dataserver.geany;/home/kolan/Projects/cpp/sockets/sockets.geany;/home/kolan/Projects/cpp/multithreading/pthread_ex.geany;/home/kolan/Projects/c/tmp2/tmp2.geany;/home/kolan/Projects/c/tmp1/tmp1.geany;/home/kolan/Projects/CPP/hello/hello.geany;/home/kolan/Projects/CPP/multithreading/pthread_ex.geany;/home/kolan/Projects/C/hello/hello.geany;
current_page=0
FILE_NAME_0=6788;C;0;16;1;1;1;/home/kolan/projects/dataserver/dataserver.c;0
FILE_NAME_1=0;C;0;16;1;1;1;/home/kolan/projects/dataserver/dataserver.h;0
FILE_NAME_2=0;C;0;16;1;1;1;/home/kolan/projects/dataserver/echo-client.c;0

View File

@ -1,245 +0,0 @@
#Keybindings for Geany
#The format looks like "<Control>a" or "<Shift><Alt>F1".
#But you can also change the keys in Geany's preferences dialog.
[Bindings]
menu_new=<Control>n
menu_open=<Control>o
menu_open_selected=<Shift><Control>o
menu_save=<Control>s
menu_saveas=
menu_saveall=<Shift><Control>s
menu_print=<Control>p
menu_close=<Control>w
menu_closeall=<Shift><Control>w
menu_reloadfile=<Control>r
project_properties=
menu_undo=<Control>z
menu_redo=<Control>y
edit_deleteline=<Control>k
edit_duplicateline=<Control>d
edit_transposeline=<Control>t
edit_scrolltoline=<Shift><Control>l
edit_scrolllineup=<Alt>Up
edit_scrolllinedown=<Alt>Down
edit_completesnippet=Tab
edit_suppresssnippetcompletion=
move_snippetnextcursor=
popup_contextaction=
edit_autocomplete=<Control>space
edit_calltip=<Shift><Control>space
edit_macrolist=<Control>Return
edit_deletelinetoend=<Shift><Control>Delete
menu_cut=<Control>x
menu_copy=<Control>c
menu_paste=<Control>v
edit_cutline=<Shift><Control>x
edit_copyline=<Shift><Control>c
menu_selectall=<Control>a
edit_selectword=<Shift><Alt>w
edit_selectline=<Shift><Alt>l
edit_selectparagraph=<Shift><Alt>p
edit_togglecase=<Control><Alt>u
edit_commentlinetoggle=<Control>e
edit_commentline=
edit_uncommentline=
edit_increaseindent=<Control>i
edit_decreaseindent=<Control>u
edit_increaseindentbyspace=
edit_decreaseindentbyspace=
edit_autoindent=
edit_sendtocmd1=<Control>1
edit_sendtocmd2=<Control>2
edit_sendtocmd3=<Control>3
edit_sendtovte=
format_reflowparagraph=<Control>j
menu_insert_date=<Shift><Alt>d
edit_insertwhitespace=
menu_preferences=<Control><Alt>p
menu_find=<Control>f
menu_findnext=<Control>g
menu_findprevious=<Shift><Control>g
menu_findinfiles=<Shift><Control>f
menu_replace=<Control>h
menu_findnextsel=
menu_findprevsel=
menu_nextmessage=
menu_previousmessage=
popup_findusage=
popup_finddocumentusage=
find_markall=<Shift><Control>m
nav_forward=
nav_back=
menu_gotoline=<Control>l
edit_gotolinestart=Home
edit_gotolineend=End
edit_gotomatchingbrace=<Control>b
edit_togglemarker=<Control>m
edit_gotonextmarker=<Control>period
edit_gotopreviousmarker=<Control>comma
edit_prevwordstart=<Control>slash
edit_nextwordstart=<Control>backslash
popup_gototagdefinition=
popup_gototagdeclaration=
edit_gotolineendvisual=<Alt>End
menu_toggleall=
menu_fullscreen=F11
menu_messagewindow=
toggle_sidebar=
menu_zoomin=<Control>plus
menu_zoomout=<Control>minus
switch_editor=F2
switch_scribble=F6
switch_vte=F4
switch_search_bar=F7
switch_sidebar=
switch_compiler=
switch_tableft=<Control>Page_Up
switch_tabright=<Control>Page_Down
switch_tablastused=<Control>Tab
move_tableft=<Alt>Page_Up
move_tabright=<Alt>Page_Down
move_tabfirst=
move_tablast=
menu_replacetabs=
menu_replacespaces=
menu_togglefold=
menu_foldall=
menu_unfoldall=
reloadtaglist=<Shift><Control>r
menu_linewrap=
menu_linebreak=
build_compile=F8
build_link=F9
build_make=<Shift>F9
build_makeowntarget=<Shift><Control>F9
build_makeobject=
build_nexterror=
build_previouserror=
build_run=F5
build_run2=
build_options=
menu_opencolorchooser=
menu_help=F1
file_openlasttab=
edit_wordpartcompletion=Tab
edit_movelineup=
edit_movelinedown=
edit_selectwordpartleft=
edit_selectwordpartright=
menu_pluginpreferences=
normal_size=<Control>0
switch_messages=
switch_message_window=
switch_sidebar_doc_list=
switch_sidebar_symbol_list=
remove_markers=
remove_error_indicators=
[file_browser]
focus_file_list=
focus_path_entry=
[split_window]
split_horizontal=
split_vertical=
split_unsplit=
[html_chars]
insert_html_chars=
replace_special_characters=
htmltoogle_toggle_plugin_status=
[code_navigation]
switch_head_impl=<Shift><Alt>s
goto_file=<Shift><Alt>g
[extra_select]
column_mode=
goto_line_extend=
brace_match_extend=
[debug]
"_Load"=
"_Unload"=
"_Run"=
"_Kill"=
"_Pause"=
"_Continue"=
"_Step"=
"Step _Into"=
"_Next"=
"Ne_xt in"=
"Run _To"=
"Sta_ck"=
"_Break"=
"_Watches"=
"_Finish"=
"_Return"=
"En_vironment"=
"_Options"=
[geanylatex]
run_latex_wizard=
insert_latex_label=
insert_latex_ref=
insert_new_line=
latex_toggle_status=
latex_insert_environment=
latex_insert_item=
latex_replace_chars=
format_bold=
format_italic=
format_typewriter=
format_center=
format_left=
format_right=
insert_description_list=
insert_itemize_list=
insert_enumerate_list=
structure_lvl_up=
structure_lvl_down=
usepackage_dialog=
latex_insert_command=
[geanylipsum]
insert_lipsum=
[sendmail]
send_file_as_attachment=
[geanyvc]
vc_show_diff_of_file=
vc_show_diff_of_dir=
vc_show_diff_of_basedir=
vc_commit=
vc_status=
vc_update=
vc_revert_file=
vc_revert_dir=
vc_revert_basedir=
[insert_numbers]
insert_numbers=
[spellcheck]
spell_check=
spell_toggle_typing=
[prettyprinter]
run_pretty_printer_xml=
[doc_chars]
Документация на слово под курсором=
Document interactive=
[addons]
focus_bookmark_list=
focus_tasks=
update_tasks=
xml_tagging=
[shiftcolumn]
shift_left=<Control>9
shift_right=<Control>0

View File

@ -1,105 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
# The name which appears in the menu:
Name=Awesome BG 1
#Name[cs]=Šablona
#Name[fr]=Modèle
#Name[de]=Vorlage
# Replace "command" with the actual command or script:
Exec=rm -f ~/.config/awesome/wallpaper1.slink ; ln -sf "%f" ~/.config/awesome/wallpaper1.slink ; killall -s SIGHUP awesome
# Where <param> may be:
# omitted If no parameter is given the command will be executed in the
# current folder. If a parameter is given but the current folder
# does not contain any files, the command will not be run.
#
# %f A single file name, even if multiple files are selected. The
# system reading the desktop entry should recognize that the program in
# question cannot handle multiple file arguments, and it should should
# probably spawn and execute multiple copies of a program for each
# selected file if the program is not able to handle additional file
# arguments. If files are not on the local file system (i.e. are on HTTP
# or FTP locations), the files will be copied to the local file system
# and %f will be expanded to point at the temporary file. Used for
# programs that do not understand the URL syntax.
#
# %F A list of files. Use for apps that can open several local files
# at once. Each file is passed as a separate argument to the executable
# program.
#
# %u A single URL. Local files may either be passed as file: URLs or
# as file path.
#
# %U A list of URLs. Each URL is passed as a separate argument to
# the executable program. Local files may either be passed as file: URLs
# or as file path.
#
# %% Percent sign. Use anywhere you want '%' to appear in your command.
# Change the following line to point to an icon of your choosing
Icon=gtk-file
# Use the following to only show this menu entry if the command is installed
#TryExec=command
# Desktop files that are usable only in Geeqie should be marked like this:
Categories=X-Geeqie;
OnlyShowIn=X-Geeqie;
# Uncomment the following line to include in a Geeqie menu
# other than in the default path of PluginsMenu
#X-Geeqie-Menu-Path=<FileMenuPath>
# e.g.
#X-Geeqie-Menu-Path=SelectMenu/SelectSection
# Valid sections are:
# FileMenu
# FileMenu/OpenSection
# FileMenu/SearchSection
# FileMenu/PrintSection
# FileMenu/FileOpsSection
# FileMenu/QuitSection
# GoMenu
# SelectMenu
# SelectMenu/SelectSection
# SelectMenu/ClipboardSection
# SelectMenu/MarksSection
# EditMenu
# EditMenu/EditSection
# EditMenu/OrientationMenu
# EditMenu/RatingMenu
# EditMenu/PropertiesSection
# EditMenu/PreferencesSection
# PluginsMenu
# ViewMenu
# ViewMenu/WindowSection
# ViewMenu/FileDirMenu
# ViewMenu/FileDirMenu/FolderSection
# ViewMenu/FileDirMenu/ListSection
# ViewMenu/DirSection
# ViewMenu/ZoomMenu
# ViewMenu/ZoomMenu/ConnectZoomMenu
# ViewMenu/SplitMenu
# ViewMenu/StereoMenu
# ViewMenu/ColorMenu
# ViewMenu/OverlayMenu
# ViewMenu/ViewSection
# ViewMenu/ToolsSection
# ViewMenu/SlideShowSection
# WindowsMenu
# WindowsMenu/NewWindow
# HelpMenu
# HelpMenu/HelpSection
# This is a filter - see symlink.desktop and geeqie-symlink for an example
# of how to use this feature, or the Plugins section of the Help file.
#X-Geeqie-Filter=true
# It can be made verbose
#X-Geeqie-Verbose=true
# For other keys such as MimeType see https://developer.gnome.org/desktop-entry-spec/

View File

@ -1,105 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
# The name which appears in the menu:
Name=Awesome BG 2
#Name[cs]=Šablona
#Name[fr]=Modèle
#Name[de]=Vorlage
# Replace "command" with the actual command or script:
Exec=rm -f ~/.config/awesome/wallpaper2.slink ; ln -sf "%f" ~/.config/awesome/wallpaper2.slink ; killall -s SIGHUP awesome
# Where <param> may be:
# omitted If no parameter is given the command will be executed in the
# current folder. If a parameter is given but the current folder
# does not contain any files, the command will not be run.
#
# %f A single file name, even if multiple files are selected. The
# system reading the desktop entry should recognize that the program in
# question cannot handle multiple file arguments, and it should should
# probably spawn and execute multiple copies of a program for each
# selected file if the program is not able to handle additional file
# arguments. If files are not on the local file system (i.e. are on HTTP
# or FTP locations), the files will be copied to the local file system
# and %f will be expanded to point at the temporary file. Used for
# programs that do not understand the URL syntax.
#
# %F A list of files. Use for apps that can open several local files
# at once. Each file is passed as a separate argument to the executable
# program.
#
# %u A single URL. Local files may either be passed as file: URLs or
# as file path.
#
# %U A list of URLs. Each URL is passed as a separate argument to
# the executable program. Local files may either be passed as file: URLs
# or as file path.
#
# %% Percent sign. Use anywhere you want '%' to appear in your command.
# Change the following line to point to an icon of your choosing
Icon=gtk-file
# Use the following to only show this menu entry if the command is installed
#TryExec=command
# Desktop files that are usable only in Geeqie should be marked like this:
Categories=X-Geeqie;
OnlyShowIn=X-Geeqie;
# Uncomment the following line to include in a Geeqie menu
# other than in the default path of PluginsMenu
#X-Geeqie-Menu-Path=<FileMenuPath>
# e.g.
#X-Geeqie-Menu-Path=SelectMenu/SelectSection
# Valid sections are:
# FileMenu
# FileMenu/OpenSection
# FileMenu/SearchSection
# FileMenu/PrintSection
# FileMenu/FileOpsSection
# FileMenu/QuitSection
# GoMenu
# SelectMenu
# SelectMenu/SelectSection
# SelectMenu/ClipboardSection
# SelectMenu/MarksSection
# EditMenu
# EditMenu/EditSection
# EditMenu/OrientationMenu
# EditMenu/RatingMenu
# EditMenu/PropertiesSection
# EditMenu/PreferencesSection
# PluginsMenu
# ViewMenu
# ViewMenu/WindowSection
# ViewMenu/FileDirMenu
# ViewMenu/FileDirMenu/FolderSection
# ViewMenu/FileDirMenu/ListSection
# ViewMenu/DirSection
# ViewMenu/ZoomMenu
# ViewMenu/ZoomMenu/ConnectZoomMenu
# ViewMenu/SplitMenu
# ViewMenu/StereoMenu
# ViewMenu/ColorMenu
# ViewMenu/OverlayMenu
# ViewMenu/ViewSection
# ViewMenu/ToolsSection
# ViewMenu/SlideShowSection
# WindowsMenu
# WindowsMenu/NewWindow
# HelpMenu
# HelpMenu/HelpSection
# This is a filter - see symlink.desktop and geeqie-symlink for an example
# of how to use this feature, or the Plugins section of the Help file.
#X-Geeqie-Filter=true
# It can be made verbose
#X-Geeqie-Verbose=true
# For other keys such as MimeType see https://developer.gnome.org/desktop-entry-spec/

View File

@ -1,105 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
# The name which appears in the menu:
Name=Awesome BG 3
#Name[cs]=Šablona
#Name[fr]=Modèle
#Name[de]=Vorlage
# Replace "command" with the actual command or script:
Exec=rm -f ~/.config/awesome/wallpaper3.slink ; ln -sf "%f" ~/.config/awesome/wallpaper3.slink ; killall -s SIGHUP awesome
# Where <param> may be:
# omitted If no parameter is given the command will be executed in the
# current folder. If a parameter is given but the current folder
# does not contain any files, the command will not be run.
#
# %f A single file name, even if multiple files are selected. The
# system reading the desktop entry should recognize that the program in
# question cannot handle multiple file arguments, and it should should
# probably spawn and execute multiple copies of a program for each
# selected file if the program is not able to handle additional file
# arguments. If files are not on the local file system (i.e. are on HTTP
# or FTP locations), the files will be copied to the local file system
# and %f will be expanded to point at the temporary file. Used for
# programs that do not understand the URL syntax.
#
# %F A list of files. Use for apps that can open several local files
# at once. Each file is passed as a separate argument to the executable
# program.
#
# %u A single URL. Local files may either be passed as file: URLs or
# as file path.
#
# %U A list of URLs. Each URL is passed as a separate argument to
# the executable program. Local files may either be passed as file: URLs
# or as file path.
#
# %% Percent sign. Use anywhere you want '%' to appear in your command.
# Change the following line to point to an icon of your choosing
Icon=gtk-file
# Use the following to only show this menu entry if the command is installed
#TryExec=command
# Desktop files that are usable only in Geeqie should be marked like this:
Categories=X-Geeqie;
OnlyShowIn=X-Geeqie;
# Uncomment the following line to include in a Geeqie menu
# other than in the default path of PluginsMenu
#X-Geeqie-Menu-Path=<FileMenuPath>
# e.g.
#X-Geeqie-Menu-Path=SelectMenu/SelectSection
# Valid sections are:
# FileMenu
# FileMenu/OpenSection
# FileMenu/SearchSection
# FileMenu/PrintSection
# FileMenu/FileOpsSection
# FileMenu/QuitSection
# GoMenu
# SelectMenu
# SelectMenu/SelectSection
# SelectMenu/ClipboardSection
# SelectMenu/MarksSection
# EditMenu
# EditMenu/EditSection
# EditMenu/OrientationMenu
# EditMenu/RatingMenu
# EditMenu/PropertiesSection
# EditMenu/PreferencesSection
# PluginsMenu
# ViewMenu
# ViewMenu/WindowSection
# ViewMenu/FileDirMenu
# ViewMenu/FileDirMenu/FolderSection
# ViewMenu/FileDirMenu/ListSection
# ViewMenu/DirSection
# ViewMenu/ZoomMenu
# ViewMenu/ZoomMenu/ConnectZoomMenu
# ViewMenu/SplitMenu
# ViewMenu/StereoMenu
# ViewMenu/ColorMenu
# ViewMenu/OverlayMenu
# ViewMenu/ViewSection
# ViewMenu/ToolsSection
# ViewMenu/SlideShowSection
# WindowsMenu
# WindowsMenu/NewWindow
# HelpMenu
# HelpMenu/HelpSection
# This is a filter - see symlink.desktop and geeqie-symlink for an example
# of how to use this feature, or the Plugins section of the Help file.
#X-Geeqie-Filter=true
# It can be made verbose
#X-Geeqie-Verbose=true
# For other keys such as MimeType see https://developer.gnome.org/desktop-entry-spec/

View File

@ -1,105 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
# The name which appears in the menu:
Name=Awesome BG 4
#Name[cs]=Šablona
#Name[fr]=Modèle
#Name[de]=Vorlage
# Replace "command" with the actual command or script:
Exec=rm -f ~/.config/awesome/wallpaper4.slink ; ln -sf "%f" ~/.config/awesome/wallpaper4.slink ; killall -s SIGHUP awesome
# Where <param> may be:
# omitted If no parameter is given the command will be executed in the
# current folder. If a parameter is given but the current folder
# does not contain any files, the command will not be run.
#
# %f A single file name, even if multiple files are selected. The
# system reading the desktop entry should recognize that the program in
# question cannot handle multiple file arguments, and it should should
# probably spawn and execute multiple copies of a program for each
# selected file if the program is not able to handle additional file
# arguments. If files are not on the local file system (i.e. are on HTTP
# or FTP locations), the files will be copied to the local file system
# and %f will be expanded to point at the temporary file. Used for
# programs that do not understand the URL syntax.
#
# %F A list of files. Use for apps that can open several local files
# at once. Each file is passed as a separate argument to the executable
# program.
#
# %u A single URL. Local files may either be passed as file: URLs or
# as file path.
#
# %U A list of URLs. Each URL is passed as a separate argument to
# the executable program. Local files may either be passed as file: URLs
# or as file path.
#
# %% Percent sign. Use anywhere you want '%' to appear in your command.
# Change the following line to point to an icon of your choosing
Icon=gtk-file
# Use the following to only show this menu entry if the command is installed
#TryExec=command
# Desktop files that are usable only in Geeqie should be marked like this:
Categories=X-Geeqie;
OnlyShowIn=X-Geeqie;
# Uncomment the following line to include in a Geeqie menu
# other than in the default path of PluginsMenu
#X-Geeqie-Menu-Path=<FileMenuPath>
# e.g.
#X-Geeqie-Menu-Path=SelectMenu/SelectSection
# Valid sections are:
# FileMenu
# FileMenu/OpenSection
# FileMenu/SearchSection
# FileMenu/PrintSection
# FileMenu/FileOpsSection
# FileMenu/QuitSection
# GoMenu
# SelectMenu
# SelectMenu/SelectSection
# SelectMenu/ClipboardSection
# SelectMenu/MarksSection
# EditMenu
# EditMenu/EditSection
# EditMenu/OrientationMenu
# EditMenu/RatingMenu
# EditMenu/PropertiesSection
# EditMenu/PreferencesSection
# PluginsMenu
# ViewMenu
# ViewMenu/WindowSection
# ViewMenu/FileDirMenu
# ViewMenu/FileDirMenu/FolderSection
# ViewMenu/FileDirMenu/ListSection
# ViewMenu/DirSection
# ViewMenu/ZoomMenu
# ViewMenu/ZoomMenu/ConnectZoomMenu
# ViewMenu/SplitMenu
# ViewMenu/StereoMenu
# ViewMenu/ColorMenu
# ViewMenu/OverlayMenu
# ViewMenu/ViewSection
# ViewMenu/ToolsSection
# ViewMenu/SlideShowSection
# WindowsMenu
# WindowsMenu/NewWindow
# HelpMenu
# HelpMenu/HelpSection
# This is a filter - see symlink.desktop and geeqie-symlink for an example
# of how to use this feature, or the Plugins section of the Help file.
#X-Geeqie-Filter=true
# It can be made verbose
#X-Geeqie-Verbose=true
# For other keys such as MimeType see https://developer.gnome.org/desktop-entry-spec/

View File

@ -1,105 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
# The name which appears in the menu:
Name=Awesome BG
#Name[cs]=Šablona
#Name[fr]=Modèle
#Name[de]=Vorlage
# Replace "command" with the actual command or script:
Exec=rm -f ~/.config/awesome/wallpaper.slink ; ln -sf "%f" ~/.config/awesome/wallpaper.slink ; ~/.config/awesome/set_wall.sh ~/.config/awesome/wallpaper.slink
# Where <param> may be:
# omitted If no parameter is given the command will be executed in the
# current folder. If a parameter is given but the current folder
# does not contain any files, the command will not be run.
#
# %f A single file name, even if multiple files are selected. The
# system reading the desktop entry should recognize that the program in
# question cannot handle multiple file arguments, and it should should
# probably spawn and execute multiple copies of a program for each
# selected file if the program is not able to handle additional file
# arguments. If files are not on the local file system (i.e. are on HTTP
# or FTP locations), the files will be copied to the local file system
# and %f will be expanded to point at the temporary file. Used for
# programs that do not understand the URL syntax.
#
# %F A list of files. Use for apps that can open several local files
# at once. Each file is passed as a separate argument to the executable
# program.
#
# %u A single URL. Local files may either be passed as file: URLs or
# as file path.
#
# %U A list of URLs. Each URL is passed as a separate argument to
# the executable program. Local files may either be passed as file: URLs
# or as file path.
#
# %% Percent sign. Use anywhere you want '%' to appear in your command.
# Change the following line to point to an icon of your choosing
Icon=gtk-file
# Use the following to only show this menu entry if the command is installed
#TryExec=command
# Desktop files that are usable only in Geeqie should be marked like this:
Categories=X-Geeqie;
OnlyShowIn=X-Geeqie;
# Uncomment the following line to include in a Geeqie menu
# other than in the default path of PluginsMenu
#X-Geeqie-Menu-Path=<FileMenuPath>
# e.g.
#X-Geeqie-Menu-Path=SelectMenu/SelectSection
# Valid sections are:
# FileMenu
# FileMenu/OpenSection
# FileMenu/SearchSection
# FileMenu/PrintSection
# FileMenu/FileOpsSection
# FileMenu/QuitSection
# GoMenu
# SelectMenu
# SelectMenu/SelectSection
# SelectMenu/ClipboardSection
# SelectMenu/MarksSection
# EditMenu
# EditMenu/EditSection
# EditMenu/OrientationMenu
# EditMenu/RatingMenu
# EditMenu/PropertiesSection
# EditMenu/PreferencesSection
# PluginsMenu
# ViewMenu
# ViewMenu/WindowSection
# ViewMenu/FileDirMenu
# ViewMenu/FileDirMenu/FolderSection
# ViewMenu/FileDirMenu/ListSection
# ViewMenu/DirSection
# ViewMenu/ZoomMenu
# ViewMenu/ZoomMenu/ConnectZoomMenu
# ViewMenu/SplitMenu
# ViewMenu/StereoMenu
# ViewMenu/ColorMenu
# ViewMenu/OverlayMenu
# ViewMenu/ViewSection
# ViewMenu/ToolsSection
# ViewMenu/SlideShowSection
# WindowsMenu
# WindowsMenu/NewWindow
# HelpMenu
# HelpMenu/HelpSection
# This is a filter - see symlink.desktop and geeqie-symlink for an example
# of how to use this feature, or the Plugins section of the Help file.
#X-Geeqie-Filter=true
# It can be made verbose
#X-Geeqie-Verbose=true
# For other keys such as MimeType see https://developer.gnome.org/desktop-entry-spec/

View File

@ -1,12 +0,0 @@
.window-frame {
box-shadow: none;
margin: 0;
}
.scrollbar.vertical slider,
scrollbar.vertical slider {
min-width: 12px;
}
.scrollbar.horizontal slider,
scrollbar.horizontal slider {
min-height: 12px;
}

View File

@ -1,22 +0,0 @@
[Settings]
#gtk-theme-name = Zukitwo
gtk-font-name=Liberation Sans 12
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-enable-animations = 0
gtk-menu-images=0
gtk-button-images=0
#gtk-icon-theme-name= oxygen
#gtk-fallback-icon-theme=oxygen
#gtk-cursor-theme-name = gentoo-silver
gtk-cursor-theme-size = 24
#gtk-xft-antialias = 1
#gtk-xft-dpi = 90
#gtk-xft-hinting = 1
#gtk-xft-hintstyle = hintslight
#gtk-xft-rgba = rgb

View File

@ -101,16 +101,13 @@ filepos_max_saved_entries=1024
preallocate_space=false
editor_group_undo=false
editor_drop_selection_on_copy=true
editor_cursor_after_inserted_block=false
editor_state_full_filename=false
editor_ask_filename_before_edit=false
editor_filesize_threshold=64M
editor_drop_selection_on_copy=true
editor_stop_format_chars=-+*\\,.;:&>
editor_state_full_filename=false
safe_overwrite=false
shadows=true
@ -196,9 +193,6 @@ select_flags=6
panel_scroll_center=false
[HotlistConfig]
expanded_view_of_groups=0
[Panelize]
Найти корректуры, отвергнутые командой patch=find . -name \\*.rej -print
Найти оригиналы (*.orig) после команды patch=find . -name \\*.orig -print

View File

@ -1,97 +0,0 @@
###
# [TypeNameOfPlugin]
# Disabled: Set to true to avoid loading the plugin. By default all
# plugins are loaded.
# Priority: Priority of the plugin if more plugins support the same
# uri-scheme / mime-type combination.
# Locations: ;-separated path list the plugin will be used in. If the
# source file is not a child of one of the locations, the
# plugin won't be used and another plugin with a lower
# priority will be tried.
# Absolute paths, environement variables, ~/ and ~username/
# are allowed. Leave empty to allow all locations.
# MaxFileSize: Maximum size of the source file the plugin will still
# try to generate a plugin for. The size is in bytes,
# 0 disabled the check.
#
# For more information see http://docs.xfce.org/xfce/thunar/tumbler
###
###
# Image Thumbnailers
###
# Jpeg thumbnailer (from exif data if possible)
[JPEGThumbnailer]
Disabled=false
Priority=3
Locations=
MaxFileSize=0
# Supports all type GdkPixbuf supports
[PixbufThumbnailer]
Disabled=false
Priority=2
Locations=
MaxFileSize=0
# RAW image files using libopenraw
[RawThumbnailer]
Disabled=false
Priority=1
Locations=
MaxFileSize=0
###
# Video Thumbnailers
###
# Download cover from omdbapi.com or themoviedb.org if an
# API key is given. This plugin is disabled because it
# sends your (private) movie names over the internet.
[CoverThumbnailer]
Disabled=true
Priority=3
Locations=~/movies
MaxFileSize=0
#APIKey=your-api-key-from-themoviedb.org
# ffmpegthumbnailer plugin
[FfmegThumbnailer]
Disabled=false
Priority=2
Locations=
MaxFileSize=0
# GStreamer plugin
[GstThumbnailer]
Disabled=true
Priority=1
Locations=
MaxFileSize=0
###
# Other Thumbnailers
###
# FreeType thumbnailer
[FontThumbnailer]
Disabled=false
Priority=1
Locations=
MaxFileSize=0
# PDF/PS thumbnailer
[PopplerThumbnailer]
Disabled=false
Priority=1
Locations=
MaxFileSize=0
# Open document thumbnailer (ODF)
[OdfThumbnailer]
Disabled=false
Priority=1
Locations=
MaxFileSize=0

View File

@ -1,8 +0,0 @@
XDG_DESKTOP_DIR="$HOME/.big/tmp/desktop/"
XDG_DOCUMENTS_DIR="$HOME/.big/tmp/documents"
XDG_MUSIC_DIR="$HOME/.big/tmp/music"
XDG_PICTURES_DIR="$HOME/.big/tmp/pictures"
XDG_VIDEOS_DIR="$HOME/.big/tmp/videos"
XDG_DOWNLOAD_DIR="$HOME/.big/download"
XDG_TEMPLATES_DIR="$HOME/.big/templates"
XDG_PUBLICSHARE_DIR="$HOME/.big/shares"

View File

@ -1,6 +0,0 @@
! Xft.dpi: 99.0
Xft.rgba: none
Xft.antialias: true
Xft.autohint: false
Xft.hinting: true
Xft.hintstyle: hintfull

View File

@ -1,243 +0,0 @@
######################################################################
# GQview config file version 2.1.5 #
######################################################################
# Note: This file is autogenerated. Options can be changed here,
# but user comments and formatting will be lost.
##### General Options #####
layout_style: 0
layout_order: "123"
layout_view_as_icons: true
layout_view_as_tree: true
show_icon_names: true
tree_descend_folders: false
lazy_image_sync: false
update_on_time_change: true
exif_auto_rotate: true
enable_startup_path: false
startup_path:
zoom_mode: fit
two_pass_scaling: true
zoom_to_fit_allow_expand: true
fit_window_to_image: true
limit_window_size: false
max_window_size: 100
progressive_keyboard_scrolling: false
scroll_reset_method: 0
enable_thumbnails: false
thumbnail_width: 96
thumbnail_height: 72
cache_thumbnails: true
cache_thumbnails_into_dirs: false
thumbnail_fast: true
use_xvpics_thumbnails: true
thumbnail_spec_standard: true
local_metadata: false
sort_method: 1
sort_ascending: true
sort_case_sensitive: false
confirm_delete: true
enable_delete_key: true
safe_delete: false
safe_delete_path: "/home/kolan/.gqview/trash"
safe_delete_size: 20
tools_float: false
tools_hidden: false
restore_tool_state: false
toolbar_hidden: false
mouse_wheel_scrolls: false
in_place_rename: true
open_recent_max: 10
image_cache_size_max: 10
thumbnail_quality: 1
zoom_quality: 2
dither_quality: 1
zoom_increment: 5
enable_read_ahead: true
display_dialogs_under_mouse: false
black_window_background: false
fullscreen_screen: -1
fullscreen_clean_flip: false
fullscreen_disable_saver: true
fullscreen_above: false
custom_similarity_threshold: 99
##### Slideshow Options #####
slideshow_delay: 15.0
slideshow_random: false
slideshow_repeat: false
##### Filtering Options #####
show_dotfiles: false
disable_filtering: false
filter_ext: "icns" ".icns" "Формат изображений ICNS"
filter_ext: "gif" ".gif" "Формат изображений GIF"
filter_ext: "bmp" ".bmp" "Формат изображений BMP"
filter_ext: "pnm" ".pnm;.pbm;.pgm;.ppm" "Семейство форматов изображений PNM/PBM/PGM/PPM"
filter_ext: "ico" ".ico;.cur" "Формат изображений ICO"
filter_ext: "ani" ".ani" "Формат изображений ANI"
filter_ext: "tga" ".tga;.targa" "Формат изображений Targa"
filter_ext: "ras" ".ras" "Формат растровых изображений компании Sun"
filter_ext: "jpeg" ".jpeg;.jpe;.jpg" "Формат изображений JPEG"
filter_ext: "qtif" ".qtif;.qif" "Формат изображений QTIF"
filter_ext: "xbm" ".xbm" "Формат изображений XBM"
filter_ext: "pcx" ".pcx" "Формат изображений PCX"
filter_ext: "xpm" ".xpm" "Формат изображения XPM"
filter_ext: "wbmp" ".wbmp" "Формат изображений WBMP"
filter_ext: "png" ".png" "Формат изображений PNG"
filter_ext: "#tiff" ".tif;.tiff" "Tiff"
filter_ext: "#svg" ".svg" "Scalable Vector Graphics"
filter_ext: "crw" ".crw;.cr2" "Canon raw format"
filter_ext: "raf" ".raf" "Fujifilm raw format"
filter_ext: "nef" ".nef" "Nikon raw format"
filter_ext: "orf" ".orf" "Olympus raw format"
filter_ext: "pef" ".pef" "Pentax raw format"
##### Color Profiles #####
# NOTICE: GQview was not built with support for color profiles,
# color profile options will have no effect.
color_profile_enabled: false
color_profile_use_image: true
color_profile_input_type: 0
color_profile_input_file_1:
color_profile_input_name_1:
color_profile_input_file_2:
color_profile_input_name_2:
color_profile_input_file_3:
color_profile_input_name_3:
color_profile_input_file_4:
color_profile_input_name_4:
color_profile_screen_type: 0
color_profile_screen_file_1:
##### External Programs #####
# Maximum of 10 programs (external_1 through external_10)
# format: external_n: "menu name" "command line"
external_1: "The Gimp" "gimp -n %f"
external_2: "XV" "xv %f"
external_3: "Xpaint" "xpaint %f"
external_4: "Awesome BG" "rm ~/.config/awesome/wallpaper.slink; ln -sf %f ~/.config/awesome/wallpaper.slink && ~/.config/awesome/set_wall.sh ~/.config/awesome/wallpaper.slink"
external_5: "Awesome 1 BG" "rm ~/.config/awesome/wallpaper1.slink; ln -sf %f ~/.config/awesome/wallpaper1.slink; killall -s SIGHUP awesome"
external_6: "Awesome 2 BG" "rm ~/.config/awesome/wallpaper2.slink; ln -sf %f ~/.config/awesome/wallpaper2.slink; killall -s SIGHUP awesome"
external_7: "Awesome 3 BG" "rm ~/.config/awesome/wallpaper3.slink; ln -sf %f ~/.config/awesome/wallpaper3.slink; killall -s SIGHUP awesome"
external_8: "" ""
external_9: "Повернуть jpeg по часовой стрелк" "%vif jpegtran -rotate 90 -copy all -outfile %p_tmp %p; then mv %p_tmp %p;else rm %p_tmp;fi"
external_10: "Повернуть jpeg против часовой ст" "%vif jpegtran -rotate 270 -copy all -outfile %p_tmp %p; then mv %p_tmp %p;else rm %p_tmp;fi"
##### Collection Options #####
rectangular_selections: false
##### Window Positions #####
restore_window_positions: false
main_window_x: 219
main_window_y: 43
main_window_width: 700
main_window_height: 500
main_window_maximized: false
float_window_x: 0
float_window_y: 0
float_window_width: 260
float_window_height: 450
float_window_divider: 200
divider_position_h: 270
divider_position_v: 200
######################################################################
# end of GQview config file #
######################################################################

View File

@ -1,18 +1,16 @@
# -- THEME AUTO-WRITTEN DO NOT EDIT
include "/usr/share/themes/Adwaita/gtk-2.0/gtkrc"
include "/usr/share/themes/Equinox/gtk-2.0/gtkrc"
style "user-font" {
font_name = "Liberation Sans 12"
font_name = "Liberation Sans 8"
}
widget_class "*" style "user-font"
gtk-font-name="Liberation Sans 12"
gtk-font-name="Liberation Sans 8"
gtk-theme-name = "Adwaita"
gtk-theme-name = "Equinox"
include "/home/kolan/.gtkrc.mine"
#gtk-cursor-theme-name = "gentoo-silver"
# -- THEME AUTO-WRITTEN DO NOT EDIT

1
.hgrc
View File

@ -5,7 +5,6 @@ username = Kolan Sh <backbone@backbone.ws>
bitbucket.org=3f:d3:c5:17:23:3c:cd:f5:2d:17:76:06:93:7e:ee:97:42:21:14:aa
hg.backbone.ws=1d:5d:e2:95:c6:ee:1a:63:9a:9b:09:79:f6:30:a9:2a:50:7d:4e:09
hg.insysltd.ru=ec:ff:06:cf:59:88:ae:58:eb:f4:79:30:56:f7:36:c2:dd:52:a9:41
hg.insysltd.org=ec:ff:06:cf:59:88:ae:58:eb:f4:79:30:56:f7:36:c2:dd:52:a9:41
[ui]
verbose = true

View File

@ -1 +0,0 @@
/dev/null

View File

@ -1,19 +0,0 @@
[default]
# Write your default config options here!
#heartbeat-cmd="(nice -n 20 /usr/bin/xscreensaver-command -deactivate >/dev/null 2>&1)&"
#heartbeat-cmd="xset dpms force on"
heartbeat-cmd="xscreensaver-command -deactivate"
#stop-xscreensaver=no
audiofile-cache=5000
cache=16000
cache-min=30
cache-seek-min=30
#af=equalizer=5:5:5:0:0:0:-2:-2:-2
[gnome-mplayer]
#vo=vdpau
ao=alsa
alang=Russian,rus,ru
slang=Russian,rus,ru
msglevel=all=5

View File

@ -1,11 +0,0 @@
# Write your default config options here!
[default]
stop-screensaver="yes"
#heartbeat-cmd="xscreensaver-command -deactivate &"
save-position-on-quit=yes
subcp=enca:ru:utf8
#hwdec=vaapi
#hwdec=vdpau
#fullscreen=yes
vo=gpu

View File

@ -1,4 +0,0 @@
Esc quit
Enter quit
WHEEL_UP seek 1
WHEEL_DOWN seek -1

View File

@ -1,33 +0,0 @@
URxvt.cursorBlink: true
URxvt*font:-xos4-terminus-medium-r-normal--14-*-*-*-*-*-*
URxvt*scrollstyle: next
URxvt.url-launcher: firefox
URxvt.matcher.button: 1
URxvt.colorUL: blue
URxvt*saveLines: 32768
URxvt.tabbed.tabbar-fg: 7
URxvt.tabbed.tabbar-bg: 8
URxvt.tabbed.tab-fg: 0
URxvt.tabbed.tab-bg: 15
URxvt.geometry: 96x32
URxvt*perl-ext: tabbedex,matcher
URxvt*color0: #444444
URxvt*color1: #aa0000
URxvt*color2: #00aa00
URxvt*color3: #999900
URxvt*color4: #0000aa
URxvt*color5: #990099
URxvt*color6: #009999
URxvt*color7: grey
URxvt*color8: #1E2320
URxvt*color9: #cc0000
URxvt*color10: #00cc00
URxvt*color11: #bbbb00
URxvt*color12: #0000cc
URxvt*color13: #bb00bb
URxvt*color14: #00bbbb
URxvt*color15: white
Xcursor.size: 24

View File

@ -1,697 +0,0 @@
#! perl
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##
## Tabbed plugin for rxvt-unicode
## Modified by Michal Nazarewicz (mina86/AT/mina86.com), StephenB
## (mail4stb/AT/gmail.com), Steven Merrill
## <steven dot merrill at gmail.com>, Mark Pustjens
## <pustjens@dds.nl> and more...
##
## The following has been added:
##
## 1. Depending on time of last activity, activity character differs.
## By default, after 4 seconds an asterisk becomes a plus sing,
## after next 4 it becomes a colon, and finally, after another 8
## seconds it becomes a dot. This can be configured via
## tabbar-timeouts resource. It's format is:
##
## ( <timeout> ":" <character> ":" )* <timeout> ":" <character> ":"
##
## where <timeout> is timeout in seconds and <character> is
## a single activity character.
##
## 2. The "[NEW]" button can be disabled (who on Earth uses mouse to
## create new tab anyways?) by setting new-button resource to yes.
##
## 3. If title resource is true, tab's title is displayed after last
## button. This is handy if you have terminal with no window
## decorations. Colours can be configured via title-fg and
## title-bg.
##
## 4. Incorporated Alexey Semenko <asemenko at gmail.com> patch adding
## autohide resource. If it's true tab bar is hidden if there is
## no more then one tab opened.
##
## 5. Tabs are indexed in starting with zero hex. :] If you're such
## a geek to use urxvt it shouldn't be a problem for you and it
## saves few character when many tabs are opened.
##
## 6. As a minor modification: Final pipe character is removed (unless
## title is displayed). This make tab bar look nicer.
##
## Added by StephenB:
##
## 7. Tabs can be named with Shift+Up (Enter to confirm, Escape to
## cancel).
##
## 8. "[NEW]" button disabled by default.
##
## Added by Steven Merrill <steven dot merrill at gmail.com>
##
## 9. Ability to start a new tab or cycle through tabs via user
## commands: tabbedex:(new|next|prev)_tab .
## e.g. (in .Xdefaults) URxvt.keysym.M-t: perl:tabbedex:new_tab
## (see the urxvt man file for more info about keysym)
##
## 10. Fix an issue whereby on_user_command would not properly get sent
## to other extension packages if the mouse was not over the urxvt
## window.
##
## Added by Thomas Jost:
##
## 11. Add several user commands: tabbedex:rename_tab,
## tabbedex:move_tab_(left|right).
## e.g. (see 9.) URxvt.keysym.C-S-Left: perl:tabbex:move_tab_left
##
## 12. Ability to disable the default keybindings using the
## no-tabbedex-keys resource.
##
## Added by xanf (Illya Klymov):
##
## 13. Ability to display non-latin characters in tab title.
##
## Added by jpkotta:
##
## 14. Tabs inherit command line options.
##
## Added by Mark Pustjens <pustjens@dds.nl>
##
## 15. Resources are now read respecting the -name option.
##
## 16. Ability to prevent the last tab from closing.
## Use the following in your ~/.Xdefaults to enable:
## URXvt.tabbed.reopen-on-close: yes
##
use Encode qw(decode);
sub update_autohide {
my ($self, $reconfigure) = @_;
my $oldh = $self->{tabheight};
if ($self->{autohide} && @{ $self->{tabs} } <= 1 &&
! (@{ $self->{tabs} } == 1 && $self->{tabs}[-1]->{name})) {
$self->{tabheight} = 0;
} else {
$self->{tabheight} = $self->{maxtabheight};
}
if ($reconfigure && $self->{tabheight} != $oldh) {
$self->configure;
$self->copy_properties;
}
}
sub tab_activity_mark ($$) {
my ($self, $tab) = @_;
return ' ' unless defined $tab->{lastActivity};
return ' ' if $tab == $self->{cur};
if (defined $self->{timeouts}) {
my $diff = int urxvt::NOW - $tab->{lastActivity};
for my $spec (@{ $self->{timeouts} }) {
return $spec->[1] if $diff > $spec->[0];
}
}
'*';
}
sub refresh {
my ($self) = @_;
# autohide makes it zero
return unless $self->{tabheight};
my $ncol = $self->ncol;
my $text = " " x $ncol;
my $rend = [($self->{rs_tabbar}) x $ncol];
my ($ofs, $idx, @ofs) = (0, 0);
if ($self->{new_button}) {
substr $text, 0, 7, "[NEW] |";
@$rend[0 .. 5] = ($self->{rs_tab}) x 6;
push @ofs, [0, 6, -1 ];
$ofs = 7;
}
for my $tab (@{ $self->{tabs} }) {
my $name = $tab->{name} ? $tab->{name} : $idx;
my $act = $self->tab_activity_mark($tab);
my $txt = sprintf "%s%s%s", $act, $name, $act;
my $len = length $txt;
substr $text, $ofs, $len + 1, "$txt|";
@$rend[$ofs .. $ofs + $len - 1] = ($self->{rs_tab}) x $len
if $tab == $self->{cur};
push @ofs, [ $ofs, $ofs + $len, $idx ];
++$idx;
$ofs += $len + 1;
}
substr $text, --$ofs, 1, ' '; # remove last '|'
if ($self->{tab_title} && $ofs + 3 < $ncol) {
my $term = $self->{term};
my @str = $term->XGetWindowProperty($term->parent, $self->{tab_title});
if (@str && $str[2]) {
my $str = '| ' . decode("utf8", $str[2]);
my $len = length $str;
$len = $ncol - $ofs if $ofs + $len > $ncol;
substr $text, $ofs, $len, substr $str, 0, $len;
@$rend[$ofs + 2 .. $ofs + $len - 1] = ($self->{rs_title}) x ($len - 2);
}
}
$self->{tabofs} = \@ofs;
$self->ROW_t (0, $text, 0, 0, $ncol);
$self->ROW_r (0, $rend, 0, 0, $ncol);
$self->want_refresh;
}
sub new_tab {
my ($self, @argv) = @_;
my $offset = $self->fheight;
$self->{tabheight} = $self->{maxtabheight}
unless $self->{autohide} && !(defined $self->{tabs} && @{ $self->{tabs} });
# save a backlink to us, make sure tabbedex is inactive
push @urxvt::TERM_INIT, sub {
my ($term) = @_;
$term->{parent} = $self;
for (0 .. urxvt::NUM_RESOURCES - 1) {
my $value = $self->{resource}[$_];
$term->resource ("+$_" => $value)
if defined $value;
}
$term->resource (perl_ext_2 => $term->resource ("perl_ext_2") . ",-tabbedex");
};
push @urxvt::TERM_EXT, urxvt::ext::tabbedex::tab::;
my $term = new urxvt::term
$self->env, $urxvt::RXVTNAME,
-embed => $self->parent,
@argv;
}
sub configure {
my ($self) = @_;
my $tab = $self->{cur};
# this is an extremely dirty way to force a configurenotify, but who cares
$tab->XMoveResizeWindow (
$tab->parent,
0, $self->{tabheight} + 1,
$self->width, $self->height - $self->{tabheight}
);
$tab->XMoveResizeWindow (
$tab->parent,
0, $self->{tabheight},
$self->width, $self->height - $self->{tabheight}
);
}
sub copy_properties {
my ($self) = @_;
my $tab = $self->{cur};
my $wm_normal_hints = $self->XInternAtom ("WM_NORMAL_HINTS");
my $current = delete $self->{current_properties};
# pass 1: copy over properties different or nonexisting
for my $atom ($tab->XListProperties ($tab->parent)) {
my ($type, $format, $items) = $self->XGetWindowProperty ($tab->parent, $atom);
# fix up size hints
if ($atom == $wm_normal_hints) {
my (@hints) = unpack "l!*", $items;
$hints[$_] += $self->{tabheight} for (4, 6, 16);
$items = pack "l!*", @hints;
}
my $cur = delete $current->{$atom};
# update if changed, we assume empty items and zero type and format will not happen
$self->XChangeProperty ($self->parent, $atom, $type, $format, $items)
if $cur->[0] != $type or $cur->[1] != $format or $cur->[2] ne $items;
$self->{current_properties}{$atom} = [$type, $format, $items];
}
# pass 2, delete all extraneous properties
$self->XDeleteProperty ($self->parent, $_) for keys %$current;
}
sub my_resource {
my $self = shift;
$self->x_resource ("tabbed.$_[0]");
}
sub make_current {
my ($self, $tab) = @_;
if (my $cur = $self->{cur}) {
delete $cur->{lastActivity};
$cur->XUnmapWindow ($cur->parent) if $cur->mapped;
$cur->focus_out;
}
$self->{cur} = $tab;
$self->configure;
$self->copy_properties;
$tab->focus_out; # just in case, should be a nop
$tab->focus_in if $self->focus;
$tab->XMapWindow ($tab->parent);
delete $tab->{lastActivity};
$self->refresh;
();
}
sub on_focus_in {
my ($self, $event) = @_;
$self->{cur}->focus_in;
();
}
sub on_focus_out {
my ($self, $event) = @_;
$self->{cur}->focus_out;
();
}
sub on_key_press {
my ($self, $event) = @_;
$self->{cur}->key_press ($event->{state}, $event->{keycode}, $event->{time});
1;
}
sub on_key_release {
my ($self, $event) = @_;
$self->{cur}->key_release ($event->{state}, $event->{keycode}, $event->{time});
1;
}
sub on_button_release {
my ($self, $event) = @_;
if ($event->{row} == 0) {
my $col = $event->{col};
for my $button (@{ $self->{tabofs} }) {
last if $col < $button->[0];
next unless $col <= $button->[1];
if ($button->[2] == -1) {
$self->new_tab;
} else {
$self->make_current($self->{tabs}[$button->[2]]);
}
}
return 1;
}
();
}
sub on_init {
my ($self) = @_;
$self->{resource} = [map $self->resource ("+$_"), 0 .. urxvt::NUM_RESOURCES - 1];
$self->resource (int_bwidth => 0);
$self->resource (pty_fd => -1);
$self->{option} = {};
for my $key (keys %urxvt::OPTION) {
$self->{option}{$key} = $self->option($urxvt::OPTION{$key});
}
# this is for the tabs terminal; order is important
$self->option ($urxvt::OPTION{scrollBar}, 0);
my $fg = $self->my_resource ("tabbar-fg");
my $bg = $self->my_resource ("tabbar-bg");
my $tabfg = $self->my_resource ("tab-fg");
my $tabbg = $self->my_resource ("tab-bg");
my $titfg = $self->my_resource ("title-fg");
my $titbg = $self->my_resource ("title-bg");
defined $fg or $fg = 3;
defined $bg or $bg = 0;
defined $tabfg or $tabfg = 0;
defined $tabbg or $tabbg = 1;
defined $titfg or $titfg = 15;
defined $titbg or $titbg = 8;
$self->{rs_tabbar} = urxvt::SET_COLOR (urxvt::DEFAULT_RSTYLE, $fg + 2, $bg + 2);
$self->{rs_tab} = urxvt::SET_COLOR (urxvt::DEFAULT_RSTYLE, $tabfg + 2, $tabbg + 2);
$self->{rs_title} = urxvt::SET_COLOR (urxvt::DEFAULT_RSTYLE, $titfg + 2, $titbg + 2);
my $timeouts = $self->my_resource ("tabbar-timeouts");
$timeouts = '16:.:8:::4:+' unless defined $timeouts;
if ($timeouts ne '') {
my @timeouts;
while ($timeouts =~ /^(\d+):(.)(?::(.*))?$/) {
push @timeouts, [ int $1, $2 ];
$timeouts = defined $3 ? $3 : '';
}
if (@timeouts) {
$self->{timeouts} = [ sort { $b->[0] <=> $a-> [0] } @timeouts ];
}
}
$self->{new_button} =
($self->my_resource ('new-button') or 'false') !~ /^(?:false|0|no)/i;
$self->{tab_title} =
($self->my_resource ('title') or 'true') !~ /^(?:false|0|no)/i;
$self->{autohide} =
($self->my_resource ('autohide') or 'false') !~ /^(?:false|0|no)/i;
$self->{no_default_keys} =
($self->my_resource ('no-tabbedex-keys') or 'false') !~ /^(?:false|0|no)/i;
$self->{reopen_on_close} =
($self->my_resource ('reopen-on-close') or 'false') !~ /^(?:false|0|no)/i;
();
}
sub on_start {
my ($self) = @_;
$self->{maxtabheight} = $self->int_bwidth + $self->fheight + $self->lineSpace;
$self->{tabheight} = $self->{autohide} ? 0 : $self->{maxtabheight};
$self->{running_user_command} = 0;
$self->cmd_parse ("\033[?25l");
my @argv = $self->argv;
do {
shift @argv;
} while @argv && $argv[0] ne "-e";
if ($self->{tab_title}) {
$self->{tab_title} = $self->{term}->XInternAtom("_NET_WM_NAME", 1);
}
$self->new_tab (@argv);
if (defined $self->{timeouts}) {
my $interval = ($self->{timeouts}[@{ $self->{timeouts} } - 1]->[0]);
$interval = int($interval / 4);
$self->{timer} = urxvt::timer->new
->interval($interval < 1 ? 1 : $interval)
->cb ( sub { $self->refresh; } );
}
();
}
sub on_configure_notify {
my ($self, $event) = @_;
$self->configure;
$self->refresh;
();
}
sub on_user_command {
my ($self, $event) = @_;
$self->{cur}->{term}->{parent}->tab_user_command($self->{cur}, $event, 1);
();
}
sub on_wm_delete_window {
my ($self) = @_;
$_->destroy for @{ $self->{tabs} };
1;
}
sub tab_start {
my ($self, $tab) = @_;
$tab->XChangeInput ($tab->parent, urxvt::PropertyChangeMask);
push @{ $self->{tabs} }, $tab;
# $tab->{name} ||= scalar @{ $self->{tabs} };
$self->make_current ($tab);
();
}
sub tab_destroy {
my ($self, $tab) = @_;
if ($self->{reopen_on_close} && $#{ $self->{tabs} } == 0) {
$self->new_tab;
$self->make_current ($self->{tabs}[-1]);
}
$self->{tabs} = [ grep $_ != $tab, @{ $self->{tabs} } ];
$self->update_autohide ();
if (@{ $self->{tabs} }) {
if ($self->{cur} == $tab) {
delete $self->{cur};
$self->make_current ($self->{tabs}[-1]);
} else {
$self->refresh;
}
} else {
# delay destruction a tiny bit
$self->{destroy} = urxvt::iw->new->start->cb (sub { $self->destroy });
}
();
}
sub tab_key_press {
my ($self, $tab, $event, $keysym, $str) = @_;
# setting binding keys
#open FILE, ">/tmp/key.txt" or die $!;
#printf FILE $keysym;
#close FILE;
if ($tab->{is_inputting_name}) {
if ($keysym == 0xff0d || $keysym == 0xff8d) { # enter
$tab->{name} = $tab->{new_name};
$tab->{is_inputting_name} = 0;
$self->update_autohide (1);
} elsif ($keysym == 0xff1b) { # escape
$tab->{name} = $tab->{old_name};
$tab->{is_inputting_name} = 0;
$self->update_autohide (1);
} elsif ($keysym == 0xff08) { # backspace
substr $tab->{new_name}, -1, 1, "";
$tab->{name} = "$tab->{new_name}█";
} elsif ($str !~ /[\x00-\x1f\x80-\xaf]/) {
$tab->{new_name} .= $str;
$tab->{name} = "$tab->{new_name}█";
}
$self->refresh;
return 1;
}
return () if ($self->{no_default_keys});
if ($event->{state} & urxvt::ControlMask) {
if ($keysym == 0x004a || $keysym == 0x006a) {
if (@{ $self->{tabs} } > 1) {
$self->change_tab($tab, -1);
}
return 1;
} elsif ($keysym == 0x004b || $keysym == 0x006b) {
if (@{ $self->{tabs} } > 1) {
$self->change_tab($tab, 1);
}
return 1;
} elsif ($keysym == 0x003b) {
$self->new_tab;
return 1;
} elsif ($keysym == 0xff52) {
$self->rename_tab($tab);
return 1;
} elsif ($keysym == 0x0047 || $keysym == 0x0067) {
$self->move_tab($tab, 1);
return 1;
} elsif ($keysym == 0x0048 || $keysym == 0x0068) {
$self->move_tab($tab, -1);
return 1;
} elsif ($keysym == 0x0044) {
$tab->destroy;
return 1;
} elsif ($keysym == 0x0054 || $keysym == 0x0074) {
$tab->{is_inputting_name} = 1;
$tab->{old_name} = $tab->{name} ? $tab->{name} : "";
$tab->{new_name} = "";
$tab->{name} = "█";
$self->update_autohide (1);
$self->refresh;
return 1;
}
}
();
}
sub tab_property_notify {
my ($self, $tab, $event) = @_;
$self->copy_properties
if $event->{window} == $tab->parent;
();
}
sub tab_add_lines {
my ($self, $tab) = @_;
my $mark = $self->tab_activity_mark($tab);
$tab->{lastActivity} = int urxvt::NOW;
$self->refresh if $mark ne $self->tab_activity_mark($tab);
();
}
sub tab_user_command {
my ($self, $tab, $cmd, $proxy_events) = @_;
if ($cmd eq 'tabbedex:new_tab') {
$self->new_tab;
}
elsif ($cmd eq 'tabbedex:next_tab') {
$self->change_tab($tab, 1);
}
elsif ($cmd eq 'tabbedex:prev_tab') {
$self->change_tab($tab, -1);
}
elsif ($cmd eq 'tabbedex:move_tab_left') {
$self->move_tab($tab, -1);
}
elsif ($cmd eq 'tabbedex:move_tab_right') {
$self->move_tab($tab, 1);
}
elsif ($cmd eq 'tabbedex:rename_tab') {
$self->rename_tab($tab);
}
else {
# Proxy the user command through to the tab's term, while taking care not
# to get caught in an infinite loop.
if ($proxy_events && $self->{running_user_command} == 0) {
$self->{running_user_command} = 1;
urxvt::invoke($tab->{term}, 20, $cmd);
$self->{running_user_command} = 0;
}
}
();
}
sub change_tab {
my ($self, $tab, $direction) = @_;
my $idx = 0;
++$idx while $self->{tabs}[$idx] != $tab;
$idx += $direction;
$self->make_current ($self->{tabs}[$idx % @{ $self->{tabs}}]);
();
}
sub move_tab {
my ($self, $tab, $direction) = @_;
if (@{ $self->{tabs} } > 1) {
my $idx1 = 0;
++$idx1 while $self->{tabs}[$idx1] != $tab;
my $idx2 = ($idx1 + $direction) % @{ $self->{tabs} };
($self->{tabs}[$idx1], $self->{tabs}[$idx2]) =
($self->{tabs}[$idx2], $self->{tabs}[$idx1]);
$self->make_current ($self->{tabs}[$idx2]);
}
();
}
sub rename_tab {
my ($self, $tab) = @_;
$tab->{is_inputting_name} = 1;
$tab->{old_name} = $tab->{name} ? $tab->{name} : "";
$tab->{new_name} = "";
$tab->{name} = "█";
$self->update_autohide (1);
$self->refresh;
();
}
package urxvt::ext::tabbedex::tab;
# helper extension implementing the subwindows of a tabbed terminal.
# simply proxies all interesting calls back to the tabbedex class.
{
for my $hook (qw(start destroy user_command key_press property_notify add_lines)) {
eval qq{
sub on_$hook {
my \$parent = \$_[0]{term}{parent}
or return;
\$parent->tab_$hook (\@_)
}
};
die if $@;
}
}

View File

@ -1,326 +0,0 @@
" pathogen.vim - path option manipulation
" Maintainer: Tim Pope <http://tpo.pe/>
" Version: 2.2
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
"
" For management of individually installed plugins in ~/.vim/bundle (or
" ~\vimfiles\bundle), adding `call pathogen#infect()` to the top of your
" .vimrc is the only other setup necessary.
"
" The API is documented inline below. For maximum ease of reading,
" :set foldmethod=marker
if exists("g:loaded_pathogen") || &cp
finish
endif
let g:loaded_pathogen = 1
function! s:warn(msg)
echohl WarningMsg
echomsg a:msg
echohl NONE
endfunction
" Point of entry for basic default usage. Give a relative path to invoke
" pathogen#incubate() (defaults to "bundle/{}"), or an absolute path to invoke
" pathogen#surround(). For backwards compatibility purposes, a full path that
" does not end in {} or * is given to pathogen#runtime_prepend_subdirectories()
" instead.
function! pathogen#infect(...) abort " {{{1
for path in a:0 ? reverse(copy(a:000)) : ['bundle/{}']
if path =~# '^[^\\/]\+$'
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#incubate(path . '/{}')
elseif path =~# '^[^\\/]\+[\\/]\%({}\|\*\)$'
call pathogen#incubate(path)
elseif path =~# '[\\/]\%({}\|\*\)$'
call pathogen#surround(path)
else
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#surround(path . '/{}')
endif
endfor
call pathogen#cycle_filetype()
return ''
endfunction " }}}1
" Split a path into a list.
function! pathogen#split(path) abort " {{{1
if type(a:path) == type([]) | return a:path | endif
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
endfunction " }}}1
" Convert a list to a path.
function! pathogen#join(...) abort " {{{1
if type(a:1) == type(1) && a:1
let i = 1
let space = ' '
else
let i = 0
let space = ''
endif
let path = ""
while i < a:0
if type(a:000[i]) == type([])
let list = a:000[i]
let j = 0
while j < len(list)
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
let path .= ',' . escaped
let j += 1
endwhile
else
let path .= "," . a:000[i]
endif
let i += 1
endwhile
return substitute(path,'^,','','')
endfunction " }}}1
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
function! pathogen#legacyjoin(...) abort " {{{1
return call('pathogen#join',[1] + a:000)
endfunction " }}}1
" Remove duplicates from a list.
function! pathogen#uniq(list) abort " {{{1
let i = 0
let seen = {}
while i < len(a:list)
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
call remove(a:list,i)
elseif a:list[i] ==# ''
let i += 1
let empty = 1
else
let seen[a:list[i]] = 1
let i += 1
endif
endwhile
return a:list
endfunction " }}}1
" \ on Windows unless shellslash is set, / everywhere else.
function! pathogen#separator() abort " {{{1
return !exists("+shellslash") || &shellslash ? '/' : '\'
endfunction " }}}1
" Convenience wrapper around glob() which returns a list.
function! pathogen#glob(pattern) abort " {{{1
let files = split(glob(a:pattern),"\n")
return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
endfunction "}}}1
" Like pathogen#glob(), only limit the results to directories.
function! pathogen#glob_directories(pattern) abort " {{{1
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
endfunction "}}}1
" Turn filetype detection off and back on again if it was already enabled.
function! pathogen#cycle_filetype() " {{{1
if exists('g:did_load_filetypes')
filetype off
filetype on
endif
endfunction " }}}1
" Check if a bundle is disabled. A bundle is considered disabled if it ends
" in a tilde or its basename or full name is included in the list
" g:pathogen_disabled.
function! pathogen#is_disabled(path) " {{{1
if a:path =~# '\~$'
return 1
elseif !exists("g:pathogen_disabled")
return 0
endif
let sep = pathogen#separator()
let blacklist = g:pathogen_disabled
return index(blacklist, strpart(a:path, strridx(a:path, sep)+1)) != -1 && index(blacklist, a:path) != 1
endfunction "}}}1
" Prepend the given directory to the runtime path and append its corresponding
" after directory. If the directory is already included, move it to the
" outermost position. Wildcards are added as is. Ending a path in /{} causes
" all subdirectories to be added (except those in g:pathogen_disabled).
function! pathogen#surround(path) abort " {{{1
let sep = pathogen#separator()
let rtp = pathogen#split(&rtp)
if a:path =~# '[\\/]{}$'
let path = fnamemodify(a:path[0:-4], ':p:s?[\\/]\=$??')
let before = filter(pathogen#glob_directories(path.sep.'*'), '!pathogen#is_disabled(v:val)')
let after = filter(reverse(pathogen#glob_directories(path.sep."*".sep."after")), '!pathogen#is_disabled(v:val[0:-7])')
call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
else
let path = fnamemodify(a:path, ':p:s?[\\/]\=$??')
let before = [path]
let after = [path . sep . 'after']
call filter(rtp, 'index(before + after, v:val) == -1')
endif
let &rtp = pathogen#join(before, rtp, after)
return &rtp
endfunction " }}}1
" Prepend all subdirectories of path to the rtp, and append all 'after'
" directories in those subdirectories. Deprecated.
function! pathogen#runtime_prepend_subdirectories(path) " {{{1
call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#surround('.string(a:path.'/{}').')')
return pathogen#surround(a:path . pathogen#separator() . '{}')
endfunction " }}}1
" For each directory in the runtime path, add a second entry with the given
" argument appended. If the argument ends in '/{}', add a separate entry for
" each subdirectory. The default argument is 'bundle/{}', which means that
" .vim/bundle/*, $VIM/vimfiles/bundle/*, $VIMRUNTIME/bundle/*,
" $VIM/vim/files/bundle/*/after, and .vim/bundle/*/after will be added (on
" UNIX).
function! pathogen#incubate(...) abort " {{{1
let sep = pathogen#separator()
let name = a:0 ? a:1 : 'bundle/{}'
if "\n".s:done_bundles =~# "\\M\n".name."\n"
return ""
endif
let s:done_bundles .= name . "\n"
let list = []
for dir in pathogen#split(&rtp)
if dir =~# '\<after$'
if name =~# '{}$'
let list += filter(pathogen#glob_directories(substitute(dir,'after$',name[0:-3],'').'*'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
else
let list += [dir, substitute(dir, 'after$', '', '') . name . sep . 'after']
endif
else
if name =~# '{}$'
let list += [dir] + filter(pathogen#glob_directories(dir.sep.name[0:-3].'*'), '!pathogen#is_disabled(v:val)')
else
let list += [dir . sep . name, dir]
endif
endif
endfor
let &rtp = pathogen#join(pathogen#uniq(list))
return 1
endfunction " }}}1
" Deprecated alias for pathogen#incubate().
function! pathogen#runtime_append_all_bundles(...) abort " {{{1
if a:0
call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#incubate('.string(a:1.'/{}').')')
else
call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#incubate()')
endif
return call('pathogen#incubate', map(copy(a:000),'v:val . "/{}"'))
endfunction
let s:done_bundles = ''
" }}}1
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
function! pathogen#helptags() abort " {{{1
let sep = pathogen#separator()
for glob in pathogen#split(&rtp)
for dir in split(glob(glob), "\n")
if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags'))
silent! execute 'helptags' pathogen#fnameescape(dir.'/doc')
endif
endfor
endfor
endfunction " }}}1
command! -bar Helptags :call pathogen#helptags()
" Execute the given command. This is basically a backdoor for --remote-expr.
function! pathogen#execute(...) abort " {{{1
for command in a:000
execute command
endfor
return ''
endfunction " }}}1
" Like findfile(), but hardcoded to use the runtimepath.
function! pathogen#runtime_findfile(file,count) abort "{{{1
let rtp = pathogen#join(1,pathogen#split(&rtp))
let file = findfile(a:file,rtp,a:count)
if file ==# ''
return ''
else
return fnamemodify(file,':p')
endif
endfunction " }}}1
" Backport of fnameescape().
function! pathogen#fnameescape(string) abort " {{{1
if exists('*fnameescape')
return fnameescape(a:string)
elseif a:string ==# '-'
return '\-'
else
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
endif
endfunction " }}}1
if exists(':Vedit')
finish
endif
let s:vopen_warning = 0
function! s:find(count,cmd,file,lcd) " {{{1
let rtp = pathogen#join(1,pathogen#split(&runtimepath))
let file = pathogen#runtime_findfile(a:file,a:count)
if file ==# ''
return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
endif
if !s:vopen_warning
let s:vopen_warning = 1
let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE'
else
let warning = ''
endif
if a:lcd
let path = file[0:-strlen(a:file)-2]
execute 'lcd `=path`'
return a:cmd.' '.pathogen#fnameescape(a:file) . warning
else
return a:cmd.' '.pathogen#fnameescape(file) . warning
endif
endfunction " }}}1
function! s:Findcomplete(A,L,P) " {{{1
let sep = pathogen#separator()
let cheats = {
\'a': 'autoload',
\'d': 'doc',
\'f': 'ftplugin',
\'i': 'indent',
\'p': 'plugin',
\'s': 'syntax'}
if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
let request = cheats[a:A[0]].a:A[1:-1]
else
let request = a:A
endif
let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
let found = {}
for path in pathogen#split(&runtimepath)
let path = expand(path, ':p')
let matches = split(glob(path.sep.pattern),"\n")
call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
for match in matches
let found[match] = 1
endfor
endfor
return sort(keys(found))
endfunction " }}}1
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(<count>,'edit<bang>',<q-args>,1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(<count>,'split',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1)
" vim:set et sw=2:

View File

@ -1,698 +0,0 @@
" File: AutoFenc.vim
" Brief: Tries to automatically detect file encoding
" Author: Petr Zemek, s3rvac AT gmail DOT com
" Version: 1.5
" Last Change: Sat Mar 17 11:39:56 CET 2012
"
" License:
" Copyright (C) 2009-2012 Petr Zemek
" This program is free software; you can redistribute it and/or modify it
" under the terms of the GNU General Public License as published by the Free
" Software Foundation; either version 2 of the License, or (at your option)
" any later version.
"
" This program is distributed in the hope that it will be useful, but
" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
" for more details.
"
" You should have received a copy of the GNU General Public License along
" with this program; if not, write to the Free Software Foundation, Inc.,
" 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
"
" Description:
" This script tries to automatically detect and set file encoding when
" opening a file in Vim. It does this in several possible ways (according
" to the configuration) in this order (when a method fails, it tries
" the following one):
" (1) detection of BOM (byte-order-mark) at the beginning of the file,
" only for some multibyte encodings
" (2) HTML way of encoding detection (via <meta> tag), only for HTML based
" file types
" (3) XML way of encoding detection (via <?xml ... ?> declaration), only
" for XML based file types
" (4) CSS way of encoding detection (via @charset 'at-rule'), only for
" CSS files
" (5) checks whether the encoding is specified in a comment (like
" '# Encoding: latin2'), for all file types
" (6) tries to detect the encoding via specified external program
" (the default one is enca), for all file types
"
" If the autodetection fails, it's up to Vim (and your configuration)
" to set the encoding.
"
" Configuration options for this plugin (you can set them in your $HOME/.vimrc):
" - g:autofenc_enable (0 or 1, default 1)
" Enables/disables this plugin.
" - g:autofenc_emit_messages (0 or 1, default 0)
" Emits messages about the detected/used encoding upon opening a file.
" - g:autofenc_max_file_size (number >= 0, default 10485760)
" If the size of a file is higher than this value (in bytes), then
" the autodetection will not be performed.
" - g:autofenc_disable_for_files_matching (regular expression, see below)
" If the file (with complete path) matches this regular expression,
" then the autodetection will not be performed. It is by default set
" to disable autodetection for non-local files (e.g. accessed via ftp,
" scp etc., because the script can't handle some kind of autodetection
" for these files). The regular expression is matched case-sensitively.
" - g:autofenc_disable_for_file_types (list of strings, default [])
" If the file type matches some of the filetypes specified in this list,
" then the autodetection will not be performed. Comparison is done
" case-sensitively.
" - g:autofenc_autodetect_bom (0 or 1, default 0 if 'ucs-bom' is in
" 'fileencodings', 1 otherwise)
" Enables/disables detection of encoding by BOM.
" - g:autofenc_autodetect_html (0 or 1, default 1)
" Enables/disables detection of encoding for HTML based documents.
" - g:autofenc_autodetect_html_filetypes (regular expression, see below)
" Regular expression for all supported HTML file types.
" - g:autofenc_autodetect_xml (0 or 1, default 1)
" Enables/disables detection of encoding for XML based documents.
" - g:autofenc_autodetect_xml_filetypes (regular expression, see below)
" Regular expression for all supported XML file types.
" - g:autofenc_autodetect_css (0 or 1, default 1)
" Enables/disables detection of encoding for CSS documents.
" - g:autofenc_autodetect_css_filetypes (regular expression, see below)
" Regular expression for all supported CSS file types.
" - g:autofenc_autodetect_comment (0 or 1, default 1)
" Enables/disables detection of encoding in comments.
" - g:autofenc_autodetect_commentexpr (regular expression, see below)
" Pattern for detection of encodings specified in a comment.
" - g:autofenc_autodetect_num_of_lines (number >= 0, default 5)
" How many lines from the beginning and from the end of the file should
" be searched for the possible encoding declaration.
" - g:autofenc_autodetect_ext_prog (0 or 1, default 1)
" Enables/disables detection of encoding via external program
" (see additional settings below).
" - g:autofenc_ext_prog_path (string, default 'enca')
" Path to the external program. It can be either relative or absolute.
" The external program can take any number of arguments, but
" the last one must be a path to the file for which the encoding
" is to be detected (it will be supplied by this plugin).
" Output of the program must be the name of encoding in which the file
" is saved (string on a single line).
" - g:autofenc_ext_prog_args (string, default '-i -L czech')
" Additional program arguments (can be none, i.e. '').
" - g:autofenc_ext_prog_unknown_fenc (string, default '???')
" If the output of the external program is this string, then it means
" that the file encoding was not detected successfully. The string must
" be case-sensitive.
" - g:autofenc_enc_blacklist (regular expression, default '')
" If the detected encoding matches this regular expression, it is
" ignored.
"
" Requirements:
" - filetype plugin must be enabled (a line like 'filetype plugin on' must
" be in your $HOME/.vimrc [*nix] or %UserProfile%\_vimrc [MS Windows])
"
" Installation Details:
" Put this file into your $HOME/.vim/plugin directory [*nix]
" or %UserProfile%\vimfiles\plugin folder [MS Windows].
"
" Notes:
" This script is by all means NOT perfect, but it works for me and suits my
" needs very well, so it might be also useful for you. Your feedback,
" opinion, suggestions, bug reports, patches, simply anything you have
" to say is welcomed!
"
" There are similar plugins to this one, so if you don't like this one,
" you can test these:
" - FencView.vim (http://www.vim.org/scripts/script.php?script_id=1708)
" Mainly supports detection of encodings for asian languages.
" - MultiEnc.vim (http://www.vim.org/scripts/script.php?script_id=1806)
" Obsolete, merged with the previous one.
" - charset.vim (http://www.vim.org/scripts/script.php?script_id=199)
" Not very complete/correct and last update in 2002.
" - http://vim.wikia.com/wiki/Detect_encoding_from_the_charset_specified_in_HTML_files
" Same basic ideas but only for HTML files.
" Let me know if there are others and I'll add them here.
"
" Changelog:
" 1.5 (2012-03-17) Thanks to Ingo Karkat for the updates in this version.
" - Supported HTML/XML/CSS file types have been made configurable and added more defaults.
" - Do not emit the "unrecognized charset" message when the encoding is known.
"
" 1.4 (2012-03-11) Thanks to Ingo Karkat for the updates in this version.
" - Improved the detection regexp for comments:
" - added "fileencoding" and "charset";
" - demands that there is a whitespace in front of the keyword, so that
" "daycoding" doesn't match;
" - g:autofenc_autodetect_commentexpr allows to configure the pattern
" for comment detection.
" - Introduced g:autofenc_enc_blacklist to disable some encodings. For
" example, the enca tool has a tendency to detect plain text files as
" UTF-7. With the blacklist, AutoFenc can be instructed to ignore those
" encodings.
" - The check for ASCII is set to be case-insensitive because enca reports
" this in uppercase, so the condition fails unless ignorecase is set.
" - Keeps changed CWD with 'autochdir' setting by temporarily disabling it.
" For example, suppose that a user has ":lcd .." in
" after/ftplugin/gitcommit.vim and that he is in the Git root directory,
" not the .git subdir when composing a commit message. The reload of the
" buffer by AutoFenc (via :edit) again triggered the automatic change of
" the working dir, and therefore the customization was lost. The
" 'autochdir' setting needs to be temporarily disabled to avoid that.
" - Added a support for plain Vim 7.0 in the shellescape() emulation from
" version 1.3.4. Otherwise, there were errors in Vim 7.0.
"
" 1.3.4 (2012-02-27)
" - Don't override when the user explicitly sets file encoding with ++enc
" (thanks to Benjamin Fritz).
" - Fixed TOhtml version detection (again) and made sure line continuations
" can actually be used (thanks to Benjamin Fritz and Ingo Karkat).
" - Disabled the option shellslash on Windows before calling shellescape()
" (it may cause problems on Windows, thanks for the tip goes to Benjamin
" Fritz).
"
" 1.3.3 (2011-11-29) Thanks to Ingo Karkat for the updates in this version.
" - Fixed a problem in the TOhtml detection when, for example,
" g:loaded_2html_plugin = 'vim7.3_v6'.
" - The return code of the call of an external program via
" system(ext_prog_cmd) is now checked. This prevents Vim interpreting an
" error message as an encoding.
" - shellescape() is now used instead of quoting file_path manually.
"
" 1.3.2 (2011-11-24) Thanks to Benjamin Fritz for the updates in this version.
" - Fixed the detection of the version of the TOhtml plugin.
"
" 1.3.1 (2011-07-23) Thanks to Benjamin Fritz for the updates in this version.
" - Fixed the plugin behavior when reloading a file with different settings.
"
" 1.3 (2011-04-22) Thanks to Benjamin Fritz for the updates in this version.
" - Added support for HTML version 5 encoding detection.
" - The script now dies gracefully in old Vims.
" - 'g:autofenc_autodetect_comment_num_of_lines' renamed to 'g:autofenc_autodetect_num_of_lines'
"
" 1.2.1 (2011-04-13)
" - Fixed a typo in a variable name (this resulted in an error in some
" occasions). Thanks to Charles Lee for pointing this bug out.
"
" 1.2 (2011-03-31) Thanks to Benjamin Fritz for the updates in this version.
" - TOhtml's IANA name/Vim encoding conversion functions are now used.
" - Changed BOM detection so it does not duplicate a check Vim already did by
" default (i.e. default to off if ucs-bom is in the 'fileencodings').
" - Put autocmds in the AutoFenc augroup for easier handling.
" - Made autocmd nested so we don't need to worry about restoring everything
" that other autocmds may set (e.g. syntax).
" - Jumplist or cursor position during detection are not affected.
" - The g:autofenc_autodetect_num_of_lines option is now used also in
" HTML/XML/CSS detection routines (previously only used for encoding
" specified in comments).
" - Improved HTML charset line regex.
" - Added an option (g:autofenc_emit_message) to emit messages about the
" detected/used encoding upon opening a file.
"
" 1.1.1 (2009-10-03)
" - Fixed the comment encoding detection function (the encoding was not
" detected if there were some alphanumeric characters before
" the "encoding" string, like in "# vim:fileencoding=<encoding-name>").
"
" 1.1 (2009-08-16)
" - Added three configuration possibilites to disable autodetection for
" specific files (based on file size, file type and file path).
" See script description for more info.
"
" 1.0.2 (2009-08-11)
" - Fixed the XML encoding detection function.
" - Minor code and documentation fixes.
"
" 1.0.1 (2009-08-02)
" - Encoding autodetection is now performed only if the opened file
" exists (is stored somewhere). So, for example, the autodetection
" is now not performed when a new file is opened.
" - Correctly works with .viminfo, where the last cursor position
" in the file is stored when exiting the file. In the previous version
" of this script, this information was sometimes ignored and the cursor
" was initially on the very last line in a file. If the user does not
" use this .viminfo feature (or he does not use .viminfo at all),
" then the cursor will be initially placed on the very first line.
" - (Hopefully) fixed the implementation of the function which sets
" the detected encoding.
"
" 1.0 (2009-07-26)
" - Initial release version of this script.
"
" Check if the plugin was already loaded. Also, die gracefully if the used Vim
" version is too old.
if exists('autofenc_loaded') || v:version < 700
finish
endif
" Make the loaded variable actually useful by including the version number
let autofenc_loaded = '1.5'
" This plugin uses line continuations
if &cpo =~ 'C'
let s:oldcpo = &cpo
set cpo-=C
endif
"-------------------------------------------------------------------------------
" Checks whether the selected variable (first parameter) is already set and
" if not, it sets it to the value of the second parameter.
"-------------------------------------------------------------------------------
function s:CheckAndSetVar(var, value)
if !exists(a:var)
exec 'let ' . a:var . ' = ' . string(a:value)
endif
endfunction
" Variables initialization (see script description for more information)
call s:CheckAndSetVar('g:autofenc_enable', 1)
call s:CheckAndSetVar('g:autofenc_emit_messages', 0)
call s:CheckAndSetVar('g:autofenc_max_file_size', 10485760)
call s:CheckAndSetVar('g:autofenc_disable_for_files_matching', '^[-_a-zA-Z0-9]\+://')
call s:CheckAndSetVar('g:autofenc_disable_for_file_types', [])
call s:CheckAndSetVar('g:autofenc_autodetect_bom', (&fileencodings !~# 'ucs-bom'))
call s:CheckAndSetVar('g:autofenc_autodetect_html', 1)
call s:CheckAndSetVar('g:autofenc_autodetect_html_filetypes', '^\(html.*\|xhtml\|aspperl\|aspvbs\|cf\|dtml\|gsp\|jsp\|mason\|php\|plp\|smarty\|spyce\|webmacro\)$')
call s:CheckAndSetVar('g:autofenc_autodetect_xml', 1)
call s:CheckAndSetVar('g:autofenc_autodetect_xml_filetypes', '^\(xml\|xquery\|xsd\|xslt\?\|ant\|dsl\|mxml\|svg\|wsh\|xbl\)$')
call s:CheckAndSetVar('g:autofenc_autodetect_css', 1)
call s:CheckAndSetVar('g:autofenc_autodetect_css_filetypes', '^\(css\|sass\)$')
call s:CheckAndSetVar('g:autofenc_autodetect_comment', 1)
call s:CheckAndSetVar('g:autofenc_autodetect_commentexpr', '\c^\A\(.*\s\)\?\(\(\(file\)\?en\)\?coding\|charset\)[:=]\?\s*\zs[-A-Za-z0-9_]\+')
call s:CheckAndSetVar('g:autofenc_autodetect_num_of_lines', 5)
call s:CheckAndSetVar('g:autofenc_autodetect_ext_prog', 1)
call s:CheckAndSetVar('g:autofenc_ext_prog_path', 'enca')
call s:CheckAndSetVar('g:autofenc_ext_prog_args', '-i -L czech')
call s:CheckAndSetVar('g:autofenc_ext_prog_unknown_fenc', '???')
call s:CheckAndSetVar('g:autofenc_enc_blacklist', '')
"-------------------------------------------------------------------------------
" Normalizes selected encoding and returns it, so it can be safely used as
" a new encoding. This function should be called before a new encoding is set.
"-------------------------------------------------------------------------------
function s:NormalizeEncoding(enc)
let nenc = tolower(a:enc)
" Recent versions of TOhtml runtime plugin have some nice charset to encoding
" functions which even allow user overrides. Use them if available.
let nenc2 = ""
silent! let nenc2 = tohtml#EncodingFromCharset(nenc)
if nenc2 != ""
return nenc2
" If the TOhtml function is unavailable, at least handle some canonical
" encoding names in Vim.
elseif nenc =~ 'iso[-_]8859-1'
return 'latin1'
elseif nenc =~ 'iso[-_]8859-2'
return 'latin2'
elseif nenc ==? 'gb2312'
return 'cp936' " GB2312 imprecisely means CP936 in HTML
elseif nenc =~ '\(cp\|win\(dows\)\?\)-125\d'
return 'cp125'.nenc[strlen(nenc)-1]
elseif nenc == 'utf8'
return 'utf-8'
elseif g:autofenc_emit_messages && nenc !~ '^\%(8bit-\|2byte-\)\?\%(latin[12]\|utf-8\|utf-16\%(le\)\?\|ucs-[24]\%(le\)\?\|iso-8859-\d\{1,2}\|cp\d\{3,4}\)$'
echomsg 'AutoFenc: detected unrecognized charset, trying fenc='.nenc
endif
return nenc
endfunction
"-------------------------------------------------------------------------------
" Sets the selected file encoding. Returns 1 if the file was reloaded,
" 0 otherwise.
"-------------------------------------------------------------------------------
function s:SetFileEncoding(enc)
let nenc = s:NormalizeEncoding(a:enc)
" Check whether we're not trying to set the current file encoding
if nenc != "" && nenc !=? &fenc
if exists('&autochdir') && &autochdir
" Other autocmds may have changed the window's working directory;
" when 'autochdir' is set, the :edit will reset that, so temporarily
" disable the setting.
let old_autochdir = &autochdir
set noautochdir
endif
try
" Set the file encoding and reload it, keeping any user-specified
" fileformat, and keeping any bad bytes in case the header is wrong
" (this won't let the user save if a conversion error happened on
" read)
exec 'edit ++enc='.nenc.' ++ff='.&ff.' ++bad=keep'
finally
if exists('old_autochdir')
let &autochdir = old_autochdir
endif
endtry
" File was reloaded
return 1
else
" File was not reloaded
return 0
endif
endfunction
"-------------------------------------------------------------------------------
" Tries to detect a BOM (byte order mark) at the beginning of the file to
" detect a multibyte encoding. If there is a BOM, it returns the appropriate
" encoding, otherwise the empty string is returned.
"-------------------------------------------------------------------------------
function s:BOMEncodingDetection()
" Implementation of this function is based on a part of the FencsView.vim
" plugin by Ming Bai (http://www.vim.org/scripts/script.php?script_id=1708)
" Get the first line of the file
let file_content = readfile(expand('%:p'), 'b', 1)
if file_content == []
" Empty file
return ''
endif
let first_line = file_content[0]
" Check whether it contains BOM and if so, return appropriate encoding
" Note: If the index is out of bounds, ahx is set to '' automatically
let ah1 = first_line[0]
let ah2 = first_line[1]
let ah3 = first_line[2]
let ah4 = first_line[3]
" TODO: I don't know why but if there is a NUL byte, the char2nr()
" function transforms it to a newline (0x0A) instead of 0x00...
let a1 = char2nr(ah1) == 0x0A ? 0x00 : char2nr(ah1)
let a2 = char2nr(ah2) == 0x0A ? 0x00 : char2nr(ah2)
let a3 = char2nr(ah3) == 0x0A ? 0x00 : char2nr(ah3)
let a4 = char2nr(ah4) == 0x0A ? 0x00 : char2nr(ah4)
if a1.a2.a3.a4 == 0x00.0x00.0xfe.0xff
return 'utf-32'
elseif a1.a2.a3.a4 == 0xff.0xfe.0x00.0x00
return 'utf-32le'
elseif a1.a2.a3 == 0xef.0xbb.0xbf
return 'utf-8'
elseif a1.a2 == 0xfe.0xff
return 'utf-16'
elseif a1.a2 == 0xff.0xfe
return 'utf-16le'
endif
" There was no legal BOM
return ''
endfunction
"-------------------------------------------------------------------------------
" Tries the HTML way of encoding detection of the current file and returns the
" detected encoding (or the empty string, if the encoding was not detected).
"-------------------------------------------------------------------------------
function s:HTMLEncodingDetection()
" This method is based on the meta tag in the head of the HTML document
" (<meta http-equiv="Content-Type" ...)
" Store the actual position in the file and move to the very first line
" in the file
let curpos=getpos('.')
keepjumps 1
let enc = ''
" The following regexp is a modified version of the regexp found here:
" http://vim.wikia.com/wiki/Detect_encoding_from_the_charset_specified_in_HTML_files
let charset_line = search('\c<meta\_s\+http-equiv=\([''"]\?\)Content-Type\1\_s\+content=\([''"]\)[A-Za-z]\+/[+A-Za-z]\+;\_s*charset=[-A-Za-z0-9_]\+\2', 'nc', g:autofenc_autodetect_num_of_lines)
" If charset line was not found, try attributes in reverse order since order is
" not actually important.
if charset_line == 0
let charset_line = search('\c<meta\_s\+content=\([''"]\)[A-Za-z]\+/[+A-Za-z]\+;\_s*charset=[-A-Za-z0-9_]\+\1\_s\+http-equiv=\([''"]\?\)Content-Type\2', 'nc', g:autofenc_autodetect_num_of_lines)
endif
" Detect in HTML version 5
if charset_line == 0
let charset_line = search('\c<meta\_s\+charset=\([''"]\)[-A-Za-z0-9_]\+\1', 'nc', g:autofenc_autodetect_num_of_lines)
endif
if charset_line != 0
let enc = matchstr(getline(charset_line), 'charset=\([''"]\)\?\zs[-A-Za-z0-9_]\+\ze\1')
endif
" Restore the original position in the file
call setpos('.', curpos)
return enc
endfunction
"-------------------------------------------------------------------------------
" Tries the XML way of encoding detection of the current file and returns the
" detected encoding (or the empty string, if the encoding was not detected).
"-------------------------------------------------------------------------------
function s:XMLEncodingDetection()
" The first part of this method is based on the first line of XML files
" (<?xml version="..." encoding="..."?>)
" Store the actual position in the file and move to the very first line
" in the file
let curpos=getpos('.')
keepjumps 1
let enc = ''
let charset_line = search('\c<?xml\s\+version="[.0-9]\+"\s\+encoding="[-A-Za-z0-9_]\+"', 'nc', g:autofenc_autodetect_num_of_lines)
if charset_line != 0
let enc = matchstr(getline(charset_line), 'encoding="\zs[-A-Za-z0-9_]\+')
endif
" Restore the original position in the file
call setpos('.', curpos)
" If there was no encoding specified, return utf-8 (the check for BOM
" should be done in another function - if the user wish that)
return enc != '' ? enc : 'utf-8'
endfunction
"-------------------------------------------------------------------------------
" Tries the CSS way of encoding detection of the current file and returns the
" detected encoding (or the empty string, if the encoding was not detected).
"-------------------------------------------------------------------------------
function s:CSSEncodingDetection()
" This method is based on the @charset 'at-rule'
" (see http://www.w3.org/International/questions/qa-css-charset)
" Store the actual position in the file and move to the very first line
" in the file
let curpos=getpos('.')
keepjumps 1
let enc = ''
" Note: The specs says that this line should be the first line in the file,
" but I'm searching every line in the file (some comments could perhaps
" precede the @charset in practice). If you don't like it, you are
" encouraged to change the code :).
let charset_line = search('\c^\s*@charset\s\+"[-A-Za-z0-9_]\+"', 'nc', g:autofenc_autodetect_num_of_lines)
if charset_line != 0
let enc = matchstr(getline(charset_line), '^\s*@charset\s\+"\zs[-A-Za-z0-9_]\+')
endif
" Restore the original position in the file
call setpos('.', curpos)
return enc
endfunction
"-------------------------------------------------------------------------------
" Tries to detect encoding via encoding specified in a comment. The file is
" searched for a line like '# encoding: utf-8' and the file encoding is
" returned according to this line. If there is no such line, the empty string
" is returned.
"
" The default format of the comment that specifies encoding is some
" non-alphabetic characters at the beginning of the line, then 'charset'
" or '[[file]en]coding' (without quotes, case insensitive), which is followed
" by optional ':' (and whitespace) and the name of the encoding.
"-------------------------------------------------------------------------------
function s:CommentEncodingDetection()
" Get first and last X lines from the file (according to the configuration)
let num_of_lines = g:autofenc_autodetect_num_of_lines
let lines_to_search_enc = readfile(expand('%:p'), '', num_of_lines)
let lines_to_search_enc += readfile(expand('%:p'), '', -num_of_lines)
" Check all of the returned lines
for line in lines_to_search_enc
let enc = matchstr(line, g:autofenc_autodetect_commentexpr)
if enc != ''
return enc
endif
endfor
return ''
endfunction
"-------------------------------------------------------------------------------
" A safe version of shellescape. Use it instead of shellescape().
"-------------------------------------------------------------------------------
function s:SafeShellescape(path)
try
if exists('*shellescape')
" On MS Windows, we need to disable the option shellslash before calling
" shellescape() because otherwise, it may do stupid things (see, e.g.,
" http://vim.1045645.n5.nabble.com/shellescape-doesn-t-work-in-Windows-with-shellslash-set-td1211618.html).
if has("win32") || has("win64")
let old_ssl = &shellslash
set noshellslash
endif
return shellescape(a:path)
else
" The shellescape({string}) function only exists since Vim 7.0.111
" Try to crudely support plain Vim 7.0, too.
return '"'.substitute(a:path, '"', '\\"', 'g').'"'
endif
finally
if exists('old_ssl')
let &shellslash = old_ssl
endif
endtry
endfunction
"-------------------------------------------------------------------------------
" Tries to detect the file encoding via selected external program.
" If the program is not executable or there is some error, it returns
" the empty string. Otherwise, the detected encoding is returned.
"-------------------------------------------------------------------------------
function s:ExtProgEncodingDetection()
if executable(g:autofenc_ext_prog_path)
" Get full path of the currently edited file
let file_path = expand('%:p')
" Create the complete external program command by appending program
" arguments and the current file path to the external program.
"
let ext_prog_cmd = g:autofenc_ext_prog_path.' '.g:autofenc_ext_prog_args.' '.s:SafeShellescape(file_path)
" Run it to get the encoding
let enc = system(ext_prog_cmd)
if v:shell_error != 0
" An error occurred
return ''
endif
" Remove trailing newline from the output
" (system() removes any \r from the result automatically)
let enc = substitute(enc, '\n', '', '')
if enc != g:autofenc_ext_prog_unknown_fenc
" Encoding was (probably) detected successfully
return enc
endif
endif
return ''
endfunction
"-------------------------------------------------------------------------------
" Tries to detect encoding of the current file via several ways (according
" to the configuration) and returns it. If the encoding was not detected
" successfully, it returns the empty string - this can happen because:
" - the file is in unknown encoding
" - the file is not stored anywhere (e.g. a new file was opened)
" - autodetection is disabled for this file (either the file is too large
" or autodetection is disabled for this file, see configuration)
"-------------------------------------------------------------------------------
function s:DetectFileEncoding()
" Check whether the autodetection should be performed
" (see function description for more information)
let file_path = expand('%:p')
let file_size = getfsize(file_path)
if file_path == '' ||
\ file_size > g:autofenc_max_file_size || file_size < 0 ||
\ file_path =~ g:autofenc_disable_for_files_matching ||
\ index(g:autofenc_disable_for_file_types, &ft, 0, 1) != -1
return ''
endif
" BOM encoding detection
if g:autofenc_autodetect_bom
let enc = s:BOMEncodingDetection()
if enc != ''
return enc
endif
endif
" HTML encoding detection
if g:autofenc_autodetect_html && &filetype =~? g:autofenc_autodetect_html_filetypes
let enc = s:HTMLEncodingDetection()
if enc != ''
return enc
endif
endif
" XML encoding detection
if g:autofenc_autodetect_xml && &filetype =~? g:autofenc_autodetect_xml_filetypes
let enc = s:XMLEncodingDetection()
if enc != ''
return enc
endif
endif
" CSS encoding detection
if g:autofenc_autodetect_css && &filetype =~? g:autofenc_autodetect_css_filetypes
let enc = s:CSSEncodingDetection()
if enc != ''
return enc
endif
endif
" Comment encoding detection
if g:autofenc_autodetect_comment
let enc = s:CommentEncodingDetection()
if enc != ''
return enc
endif
endif
" External program encoding detection
if g:autofenc_autodetect_ext_prog
let enc = s:ExtProgEncodingDetection()
if enc != ''
return enc
endif
endif
" Encoding was not detected
return ''
endfunction
"-------------------------------------------------------------------------------
" Main plugin function. Tries to autodetect the correct file encoding
" and sets the detected one (if any). If the ASCII encoding is detected,
" it does nothing so allow Vim to set its internal encoding instead.
"-------------------------------------------------------------------------------
function s:DetectAndSetFileEncoding()
let enc = s:DetectFileEncoding()
" don't call again on the nested trigger from the edit
let b:autofenc_done = enc
if (enc != '') && (enc !=? 'ascii') &&
\ (g:autofenc_enc_blacklist == '' || enc !~? g:autofenc_enc_blacklist)
if s:SetFileEncoding(enc)
if g:autofenc_emit_messages
echomsg "AutoFenc: Detected [".enc."] from file, loaded with fenc=".&fenc
endif
endif
endif
endfunction
" Set the detected file encoding
if g:autofenc_enable
augroup AutoFenc
au!
" We need to check that we're not in the middle of a reload due to this
" plugin otherwise can recurse forever. But unlet the variable to allow
" re-detection on the next read of this buffer if it is just unloaded.
au BufRead * nested
\ if !exists('b:autofenc_done') |
\ if v:cmdarg !~ '++enc' |
\ call s:DetectAndSetFileEncoding() |
\ endif |
\ else |
\ unlet b:autofenc_done |
\ endif
augroup END
endif
" Restore line continuations (and the rest of &cpo) when done
if exists('s:oldcpo')
let &cpo = s:oldcpo
unlet s:oldcpo
endif
" vim: noet

View File

@ -5,9 +5,3 @@ source! /home/kolan/.vimperatorrc.local
" vim: set ft=vimperator:
map <C-S-p> :tabm -1<CR>
map <C-S-n> :tabm +1<CR>
" Valadoc.org: disable 'new window' in 'edit mode'
:imap <C-n> <Esc>gt<Esc>
:imap <C-S-n> <Esc>gt<Esc>
:imap <C-p> <Esc>gT<Esc>
:imap <C-S-p> <Esc>gT<Esc>

8
.vimrc
View File

@ -6,7 +6,7 @@ set ts=4 " у меня табуляция (tabstop) 4 символ
set tabstop=4
set shiftwidth=4
set textwidth=79
set tw=159
set tw=79
set colorcolumn=80,120,160
"set expandtab
set autoindent
@ -27,7 +27,7 @@ nmap <F6> :set invlist<cr>
" set breakindent " https://www.linux.org.ru/forum/general/10615635?lastmod=1403800233259
" https://ru.wikibooks.org/wiki/Vim#%D0%A1%D0%BF%D0%BE%D1%81%D0%BE%D0%B1_2
set langmap=ёйцукенгшщзхъфывапролджэячсмитьбю;`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.,ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>
set langmap=ёйцукенгшщзхъфывапролджэячсмитьбю;`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.,ЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>
" Setup for the GNU coding format standard
function! GnuIndent()
@ -191,7 +191,7 @@ map <F4> [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>
" Foldging
set foldenable
" set foldmethod=syntax
set foldmethod=syntax
" VUNDLE "
set nocompatible " be iMproved
@ -209,7 +209,7 @@ Bundle 'gmarik/vundle'
" original repos on github
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
" Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
"Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
" vim-scripts repos
Bundle 'L9'

View File

@ -1,27 +0,0 @@
DEFAULT_SESSION=awesome
case $1 in
urxvt)
exec urxvt
;;
awesome)
exec awesome
;;
fvwm-crystal)
exec fvwm-crystal
;;
fvwm) exec fvwm
;;
kde)
exec startkde
;;
xfce4)
exec startxfce4
;;
fluxbox)
exec startfluxbox
;;
*)
exec $DEFAULT_SESSION
;;
esac

View File

@ -1 +0,0 @@
[[ -f ~/.bashrc ]] && . ~/.bashrc

View File

@ -1,299 +0,0 @@
# XScreenSaver Preferences File
# Written by xscreensaver-settings 6.07 for kolan on Fri Nov 17 11:56:11 2023.
# https://www.jwz.org/xscreensaver/
timeout: 0:08:00
cycle: 0:00:00
lock: True
lockTimeout: 0:30:00
passwdTimeout: 0:00:30
visualID: default
installColormap: True
verbose: False
splash: True
splashDuration: 0:00:05
demoCommand: xscreensaver-settings
nice: 10
fade: True
unfade: False
fadeSeconds: 0:00:03
ignoreUninstalledPrograms:False
dpmsEnabled: True
dpmsQuickOff: True
dpmsStandby: 0:08:00
dpmsSuspend: 0:08:00
dpmsOff: 0:08:00
grabDesktopImages: False
grabVideoFrames: False
chooseRandomImages: False
imageDirectory:
mode: blank
selected: -1
textMode: date
textLiteral: XScreenSaver
textFile: /etc/gentoo-release
textProgram: fortune
textURL: https://planet.gentoo.org/rss20.xml
dialogTheme: default
settingsGeom: 1920,15 -1,-1
programs: \
maze --root \n\
GL: superquadrics --root \n\
attraction --root \n\
blitspin --root \n\
greynetic --root \n\
helix --root \n\
hopalong --root \n\
imsmap --root \n\
- noseguy --root \n\
- pyro --root \n\
qix --root \n\
- rocks --root \n\
rorschach --root \n\
decayscreen --root \n\
flame --root \n\
halo --root \n\
slidescreen --root \n\
pedal --root \n\
bouboule --root \n\
- braid --root \n\
coral --root \n\
deco --root \n\
drift --root \n\
- fadeplot --root \n\
galaxy --root \n\
goop --root \n\
grav --root \n\
ifs --root \n\
GL: jigsaw --root \n\
julia --root \n\
- kaleidescope --root \n\
GL: moebius --root \n\
moire --root \n\
GL: morph3d --root \n\
mountain --root \n\
munch --root \n\
penrose --root \n\
GL: pipes --root \n\
rdbomb --root \n\
GL: rubik --root \n\
- sierpinski --root \n\
slip --root \n\
GL: sproingies --root \n\
starfish --root \n\
strange --root \n\
swirl --root \n\
triangle --root \n\
xjack --root \n\
xlyap --root \n\
GL: atlantis --root \n\
bsod --root \n\
GL: bubble3d --root \n\
GL: cage --root \n\
- crystal --root \n\
cynosure --root \n\
discrete --root \n\
distort --root \n\
epicycle --root \n\
flow --root \n\
GL: glplanet --root \n\
interference --root \n\
kumppa --root \n\
GL: lament --root \n\
moire2 --root \n\
GL: sonar --root \n\
GL: stairs --root \n\
truchet --root \n\
- vidwhacker --root \n\
- webcollage --root \n\
blaster --root \n\
bumps --root \n\
ccurve --root \n\
compass --root \n\
deluxe --root \n\
- demon --root \n\
- GL: extrusion --root \n\
- loop --root \n\
penetrate --root \n\
petri --root \n\
phosphor --root \n\
GL: pulsar --root \n\
ripples --root \n\
shadebobs --root \n\
GL: sierpinski3d --root \n\
spotlight --root \n\
squiral --root \n\
wander --root \n\
xflame --root \n\
xmatrix --root \n\
GL: gflux --root \n\
- nerverot --root \n\
xrayswarm --root \n\
xspirograph --root \n\
GL: circuit --root \n\
GL: dangerball --root \n\
- GL: dnalogo --root \n\
GL: engine --root \n\
GL: flipscreen3d --root \n\
GL: gltext --root \n\
GL: menger --root \n\
GL: molecule --root \n\
rotzoomer --root \n\
scooter --root \n\
speedmine --root \n\
GL: starwars --root \n\
GL: stonerview --root \n\
vermiculate --root \n\
whirlwindwarp --root \n\
zoom --root \n\
anemone --root \n\
apollonian --root \n\
GL: boxed --root \n\
GL: cubenetic --root \n\
GL: endgame --root \n\
euler2d --root \n\
fluidballs --root \n\
GL: flurry --root \n\
- GL: glblur --root \n\
GL: glsnake --root \n\
halftone --root \n\
GL: juggler3d --root \n\
GL: lavalite --root \n\
- polyominoes --root \n\
GL: queens --root \n\
- GL: sballs --root \n\
GL: spheremonics --root \n\
twang --root \n\
- GL: antspotlight --root \n\
apple2 --root \n\
GL: atunnel --root \n\
barcode --root \n\
GL: blinkbox --root \n\
GL: blocktube --root \n\
GL: bouncingcow --root \n\
cloudlife --root \n\
GL: cubestorm --root \n\
eruption --root \n\
GL: flipflop --root \n\
GL: flyingtoasters --root \n\
fontglide --root \n\
GL: gleidescope --root \n\
GL: glknots --root \n\
GL: glmatrix --root \n\
- GL: glslideshow --root \n\
GL: hypertorus --root \n\
- GL: jigglypuff --root \n\
metaballs --root \n\
GL: mirrorblob --root \n\
piecewise --root \n\
GL: polytopes --root \n\
pong --root \n\
popsquares --root \n\
GL: surfaces --root \n\
xanalogtv --root \n\
abstractile --root \n\
anemotaxis --root \n\
- GL: antinspect --root \n\
fireworkx --root \n\
fuzzyflakes --root \n\
interaggregate --root \n\
intermomentary --root \n\
memscroller --root \n\
GL: noof --root \n\
pacman --root \n\
GL: pinion --root \n\
GL: polyhedra --root \n\
- GL: providence --root \n\
substrate --root \n\
wormhole --root \n\
- GL: antmaze --root \n\
GL: boing --root \n\
boxfit --root \n\
GL: carousel --root \n\
celtic --root \n\
GL: crackberg --root \n\
GL: cube21 --root \n\
fiberlamp --root \n\
GL: fliptext --root \n\
GL: glhanoi --root \n\
GL: tangram --root \n\
GL: timetunnel --root \n\
GL: glschool --root \n\
GL: topblock --root \n\
GL: cubicgrid --root \n\
cwaves --root \n\
GL: gears --root \n\
GL: glcells --root \n\
GL: lockward --root \n\
m6502 --root \n\
GL: moebiusgears --root \n\
GL: voronoi --root \n\
GL: hypnowheel --root \n\
GL: klein --root \n\
- lcdscrub --root \n\
GL: photopile --root \n\
GL: skytentacles --root \n\
GL: rubikblocks --root \n\
GL: companioncube --root \n\
GL: hilbert --root \n\
GL: tronbit --root \n\
GL: geodesic --root \n\
hexadrop --root \n\
GL: kaleidocycle --root \n\
GL: quasicrystal --root \n\
GL: unknownpleasures --root \n\
binaryring --root \n\
GL: cityflow --root \n\
GL: geodesicgears --root \n\
GL: projectiveplane --root \n\
GL: romanboy --root \n\
tessellimage --root \n\
GL: winduprobot --root \n\
GL: splitflap --root \n\
GL: cubestack --root \n\
GL: cubetwist --root \n\
GL: discoball --root \n\
GL: dymaxionmap --root \n\
GL: energystream --root \n\
GL: hexstrut --root \n\
GL: hydrostat --root \n\
GL: raverhoop --root \n\
GL: splodesic --root \n\
GL: unicrud --root \n\
GL: esper --root \n\
GL: vigilance --root \n\
GL: crumbler --root \n\
filmleader --root \n\
glitchpeg --root \n\
GL: handsy --root \n\
GL: maze3d --root \n\
GL: peepers --root \n\
GL: razzledazzle --root \n\
vfeedback --root \n\
GL: deepstars --root \n\
GL: gravitywell --root \n\
GL: beats --root \n\
GL: covid19 --root \n\
GL: etruscanvenus --root \n\
GL: gibson --root \n\
GL: headroom --root \n\
GL: sphereeversion --root \n\
binaryhorizon --root \n\
marbling --root \n\
GL: chompytower --root \n\
GL: hextrail --root \n\
GL: mapscroller --root \n\
GL: nakagin --root \n\
GL: squirtorus --root \n\
GL: cubocteversion --root \n\
droste --root \n\
GL: papercube --root \n\
GL: skulloop --root \n\
pointerHysteresis: 10
authWarningSlack: 20