Обновить
206
0
Илья@smind

Программист

Отправить сообщение

Как раз хотел спросить как дабл esc отрубить.

Вообще это первое что я проверил в far2lc и конечно нажатие ctrl оно не отслеживает. Возможно если пользоваться специально написанным терминалом, но это немного другое.

Это невозможно по причинам принципа работы консоли. Она не посылает esc- последовательностей если вы просто нажмете ctrl, понимаете о чем я?

— Аккуратность интерфейса. При нажатии на ctrl, alt или shift подписи на плашках, соответствующих кнопкам Fx меняются, как-то все сразу понятнее.

Это проблема запущенного в терминале приложения, far2lc тоже никогда не сможет реагировать на нажатый и отпущенный ctrl или alt. Это невозможно.


— Встроенный редактор, интегрированный с буфером обмена. mc может запускать mcedit, а в нем с буфером обмена шорткаты зачем-то через F3..F6

У меня по ctrl-c, ctrl-v копирование/вставка, настройки выкладывал в этой ветке.

Вы примерно не правы.

в mc это сделано так — при нажатии хаткея копирования в клипборд содержимое копируется во внутренний клип-файл а дальше вызов

/* event callback */
gboolean
clipboard_file_to_ext_clip (const gchar * event_group_name, const gchar * event_name,
                            gpointer init_data, gpointer data)
{
    char *tmp, *cmd;
    const char *d = getenv ("DISPLAY");

    (void) event_group_name;
    (void) event_name;
    (void) init_data;
    (void) data;

    if (d == NULL || clipboard_store_path == NULL || clipboard_store_path[0] == '\0')
        return TRUE;

    tmp = mc_config_get_full_path (EDIT_HOME_CLIP_FILE);
    cmd = g_strconcat (clipboard_store_path, " ", tmp, " 2>/dev/null", (char *) NULL);

    if (cmd != NULL)
        my_system (EXECUTE_AS_SHELL, mc_global.shell->path, cmd);

    g_free (cmd);
    g_free (tmp);
    return TRUE;
}

может предложите мэйтейнеру запилить как в mc через вызов xclip, там кода несколько строк.
обратите внимание на
Cut = ctrl-x
Store = ctrl-c
Paste = ctrl-v

в сочетании с настройкой в ini

clipboard_store=xclip -i -selection clipboard
clipboard_paste=xclip -o -selection clipboard

дает доступ к клипборду X-ов
не, это не то, там у вас длинные строки криво скопирутся и т.д. я в свое время поддержку общего клипборда запиивал через xclip.
вот мой файл настроек mc.keymap

Заголовок спойлера
[main]
ChangePanel = tab; ctrl-i
Help = f1
UserMenu = f2
View = f3
# ViewFile =
Edit = f4
# EditForceInternal =
Copy = f5
Move = f6
MakeDir = f7
Delete = f8; shift-delete
Menu = f9
Quit = f10
MenuLastSelected = f19
QuitQuiet = f20
Find = alt-question; alt-f7; ctrl-backtab
CdQuick = alt-c
HotList = ctrl-backslash
Reread = ctrl-r
DirSize = ctrl-space
Suspend = ctrl-alt-z
Swap = ctrl-u
History = alt-h
# PanelListing =
# SetupListingFormat =
ShowHidden = alt-dot
SplitVertHoriz = alt-comma
SplitEqual = alt-equal
SplitMore = ctrl-shift-right
SplitLess = ctrl-shift-left
Shell = ctrl-o
PutCurrentPath = alt-a
PutOtherPath = alt-shift-a
PutCurrentSelected = alt-enter; ctrl-enter
PutCurrentFullSelected = ctrl-shift-enter
ViewFiltered = alt-exclamation
Select = kpplus; ctrl-kpplus
Unselect = kpminus
SelectExt = ctrl-kpasterisk
SelectInvert = kpasterisk
ScreenList = alt-prime; alt-f11
# OptionsLayout =
# OptionsAppearance =
# OptionsPanel =
# OptionsConfirm =
# OptionsDisplayBits =
# OptionsVfs =
# LearnKeys =
# SaveSetup =
# EditExtensionsFile =
# EditFileHighlightFile =
# Filter =
# ConnectFish =
# ConnectFtp =
# ConnectSmb =
# Undelete =
EditorViewerHistory = alt-f12
ExtendedKeyMap = ctrl-alt-x

[main:xmap]
ChangeMode = c
ChangeOwn = o
ChangeAttributes = e
CompareDirs = d
CompareFiles = ctrl-d
HotListAdd = h
LinkSymbolicEdit = ctrl-s
Link = l
LinkSymbolic = s
LinkSymbolicRelative = v
PanelInfo = i
PanelQuickView = q
ExternalPanelize = exclamation
VfsList = a
Jobs = j
PutCurrentPath = p
PutOtherPath = ctrl-p
PutCurrentTagged = t
PutOtherTagged = ctrl-t
PutCurrentLink = r
PutOtherLink = ctrl-r

[panel]
CycleListingFormat = alt-t
Search = ctrl-s; alt-s
Mark = insert; ctrl-t
MarkUp = shift-up
MarkDown = shift-down
MarkLeft = shift-left
MarkRight = shift-right
Down = down
Up = up
Left = left
Right = right
PageUp = pgup
PageDown = pgdn
Enter = enter
PanelOtherCd = alt-o
PanelOtherCdLink = alt-l
ViewRaw = f13
EditNew = f14
CopySingle = f15
MoveSingle = f16
DeleteSingle = f18
SelectExt = ctrl-kpasterisk
Select = alt-plus
Unselect = alt-minus
SelectInvert = alt-asterisk
CdChild = ctrl-pgdn
CdParent = ctrl-pgup
# CdParentSmart =
# Panelize =
History = alt-shift-h
HistoryNext = alt-u
HistoryPrev = alt-y
BottomOnScreen = alt-j
MiddleOnScreen = alt-r
TopOnScreen = alt-g
PanelOtherSync = alt-i
SelectCodepage = alt-e
Top = alt-lt; home; a1
Bottom = alt-gt; end; c1
# Sort =
# SortPrev =
# SortNext =
# SortReverse =
SortByName = ctrl-f3
# SortByExt =
# SortBySize =
SortByMTime = ctrl-f5
# ScrollLeft =
# ScrollRight =

[dialog]
Ok = enter
Cancel = f10; esc; ctrl-g
Up = left; up
#Left = left; up
Down = right; down
#Right = right; down
Help = f1
Suspend = ctrl-alt-z
Refresh = ctrl-l
ScreenList = alt-prime; alt-f11
ScreenNext = alt-rbrace
ScreenPrev = alt-lbrace

[menu]
Help = f1
Left = left; ctrl-b
Right = right; ctrl-f
Up = up; ctrl-p
Down = down; ctrl-n
Home = home; alt-lt; ctr-a
End = end; alt-gt ctrl-e
Enter = enter
Quit = F10; esc; ctrl-g

[input]
Home = alt-lt; home; a1
End = alt-gt; end; c1
Left = left; alt-left; ctrl-b
Right = right; alt-right; ctrl-f
WordLeft = ctrl-left; alt-b
WordRight = ctrl-right; alt-f
Backspace = backspace; ctrl-h
Delete = delete; ctrl-d
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
# Mark =
Remove = esc; ctrl-w
Cut = ctrl-x
Store = ctrl-c
Paste = ctrl-v
Yank = ctrl-y
DeleteToEnd = esc; ctrl-k
HistoryPrev = ctrl-e; alt-p; ctrl-down
HistoryNext = ctrl-p; alt-n; ctrl-up
History = alt-h
Complete = shift-tab
Clear = ctrl-backspace; ctrl-a
MarkLeft = shift-left
MarkRight = shift-right
MarkToWordBegin = ctrl-shift-left
MarkToWordEnd = ctrl-shift-right
MarkToHome = shift-home
MarkToEnd = shift-end

[listbox]
Up = up; ctrl-p
Down = down; ctrl-n
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup; alt-v
PageDown = pgdn
Delete = delete; d
Clear = shift-delete; shift-d
View = f3
Edit = f4
Enter = enter

[radio]
Up = up; ctrl-p
Down = down; ctrl-n
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
Select = space

[tree]
Help = f1
Reread = f2; ctrl-r
Forget = f3
ToggleNavigation = f4
Copy = f5
Move = f6
Up = up; ctrl-p
Down = down; ctrl-n
Left = left
Right = right
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup
PageDown = pgdn
Enter = enter
Search = ctrl-s; alt-s
Delete = f8; delete

[help]
Help = f1
Index = f2; c
Back = f3; left; l
Quit = f10; esc
Up = up; ctrl-p
Down = down; ctrl-n
PageDown = f; space; pgdn
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
Enter = right; enter
LinkNext = tab
LinkPrev = alt-tab
NodeNext = n
NodePrev = p

[chattr]
Up = up; left; ctrl-p
Down = down; right; ctrl-n
Top = home; alt-lt; a1
Bottom = end; alt-gt; c1
PageUp = pgup
PageDown = pgdn
Mark = t; shift-t
MarkAndDown = insert

[editor]
Store = ctrl-insert; ctrl-c
Paste = shift-insert; ctrl-v
Cut = shift-delete; ctrl-x
Up = up
Down = down
Left = left
Right = right
WordLeft = ctrl-left
WordRight = ctrl-right
Enter = enter
Return = shift-enter; ctrl-enter; ctrl-shift-enter
BackSpace = backspace
Delete = delete; ctrl-d
PageUp = pgup
PageDown = pgdn
Home = home
End = end
Tab = tab
Undo = ctrl-u; ctrl-z
Redo = alt-r; ctrl-alt-z
Top = ctrl-home; alt-lt
Bottom = ctrl-end; alt-gt
ScrollUp = ctrl-up
ScrollDown = ctrl-down
TopOnScreen = ctrl-pgup
BottomOnScreen = ctrl-pgdn
DeleteToWordBegin = alt-backspace
DeleteToWordEnd = alt-d
DeleteLine = ctrl-y
DeleteToEnd = ctrl-k
# DeleteToHome =
# ParagraphUp =
# ParagraphDown =
Save = f2
# EditFile =
EditNew = ctrl-n
SaveAs = f12; ctrl-f2
# Close =
History = alt-f12
Mark = f3
Copy = f5
Move = f6
Remove = f8; shift-delete
# MarkLine =
# MarkWord =
MarkAll = ctrl-a
# Unmark =
Search = f7
SearchContinue = f17
BlockShiftLeft = shift-tab
#BlockShiftRight =
MarkPageUp = shift-pgup
MarkPageDown = shift-pgdn
MarkLeft = shift-left
MarkRight = shift-right
MarkToWordBegin = ctrl-shift-left
MarkToWordEnd = ctrl-shift-right
MarkUp = shift-up
MarkDown = shift-down
MarkToHome = shift-home
MarkToEnd = shift-end
MarkToFileBegin = ctrl-shift-home
MarkToFileEnd = ctrl-shift-end
MarkToPageBegin  = ctrl-shift-pgup
MarkToPageEnd = ctrl-shift-pgdn
MarkScrollUp = ctrl-shift-up
MarkScrollDown = ctrl-shift-down
# MarkParagraphUp =
# MarkParagraphDown =
MarkColumnPageUp = alt-pgup
MarkColumnPageDown = alt-pgdn
MarkColumnLeft = alt-left
MarkColumnRight = alt-right
MarkColumnUp = alt-up
MarkColumnDown = alt-down
# MarkColumnScrollUp =
# MarkColumnScrollDown =
# MarkColumnParagraphUp =
# MarkColumnParagraphDown =
BlockSave = f16
MarkColumn = f13
Replace = f4
ReplaceContinue = f14
Complete = ctrl-shift-tab
InsertFile = f15
Quit = f10; esc
InsertOverwrite = insert
Help = f1
#Date =
Refresh = ctrl-l
Goto = alt-l
Sort = alt-t
Mail = alt-m
ParagraphFormat = alt-p
MatchBracket = alt-b
ExternalCommand = alt-u
UserMenu = f11
Menu = f9
Bookmark = alt-k
BookmarkFlush = alt-o
BookmarkNext = alt-j
BookmarkPrev = alt-i
Shell = ctrl-o
InsertLiteral = ctrl-q
# MacroStartRecord =
# MacroStopRecord =
MacroStartStopRecord = ctrl-r
# MacroDelete =
ShowNumbers = alt-n
ShowTabTws = alt-underline
SyntaxOnOff = ctrl-s
# SyntaxChoose =
# ShowMargin =
Find = alt-enter
FilePrev = alt-minus
FileNext = alt-plus
# RepeatStartStopRecord =
SelectCodepage = alt-e
# Options =
# OptionsSaveMode =
# SpellCheck =
SpellCheckCurrentWord = ctrl-p
# SpellCheckSelectLang =
# LearnKeys =
# WindowMove =
# WindowResize =
# WindowFullscreen =
WindowList = alt-f11
WindowNext = ctrl-tab
#WindowPrev =
# ExtendedKeyMap =

[viewer]
Help = f1
WrapMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8
NroffMode = f9
Home = ctrl-a
End = ctrl-e
Left = h; left
Right = l; right
LeftQuick = ctrl-left
RightQuick = ctrl-right
Up = k; y; insert; up; ctrl-p
Down = j; e; delete; down; enter; ctrl-n
PageDown = f; space; pgdn
PageUp = b; pgup; alt-v; backspace
HalfPageDown = d
HalfPageUp = u
Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
BookmarkGoto = m
Bookmark = r
FileNext = ctrl-f
FilePrev = ctrl-b
SelectCodepage = alt-e
Shell = ctrl-o
Ruler = alt-r
History = alt-shift-e

[viewer:hex]
Help = f1
HexEditMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Save = f6
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8
NroffMode = f9
ToggleNavigation = tab
Home = ctrl-a; home
End = ctrl-e; end
Left = b; left
Right = f; right
Up = k; y; up
Down = j; delete; down
PageDown = pgdn
PageUp = pgup
Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
History = alt-shift-e

[diffviewer]
ShowSymbols = alt-s; s
ShowNumbers = alt-n; l
SplitFull = f
SplitEqual = equal
SplitMore = gt
SplitLess = lt
Tab2 = 2
Tab3 = 3
Tab4 = 4
Tab8 = 8
Swap = ctrl-u
Redo = ctrl-r
HunkNext = n; enter; space
HunkPrev = p; backspace
Goto = g; shift-g
Save = f2
Edit = f4
EditOther = f14
Merge = f5
MergeOther = f15
Search = f7
SearchContinue = f17
Options = f9
Top = ctrl-home
Bottom = ctrl-end
Down = down
Up = up
LeftQuick = ctrl-left
RightQuick = ctrl-right
Left = left
Right = right
PageDown = pgdn
PageUp = pgup
Home = home
End = end
Help = f1
Quit = f10; q; shift-q; esc
Shell = ctrl-o
SelectCodepage = alt-e

проверял в Xterm и terminal, почему то внутри far2lc клипборд работает а X-ы не отдает.
а как в редакторе far2lc скопировать текст в клипборд X-ов?
Несомненно новость очень хорошая.
кто знает, скорее нет чем да.
вероятность есть.
лучшего эмул. терминала чем Xterm пока не удалось встретить, у меня он очень кастомизирован чтобы все комбинации в mc работали.

мой конфиг Xterm
xterm*decTerminalID: vt340
XTerm*foreground: green
XTerm*cursorColor: darkgreen
XTerm*background: black
XTerm*scrollBar: False
XTerm*saveLines: 1000
XTerm*metaSendsEscape: true
XTerm*selectToClipboard: true
XTerm.omitTranslation: fullscreen
XTerm*font1:	-xos4-terminus-medium-r-*-*-12-*-*-*-*-*-iso10646-1
XTerm*font2:	-xos4-terminus-medium-r-*-*-14-*-*-*-*-*-iso10646-1
XTerm*font3:	-xos4-terminus-medium-r-*-*-16-*-*-*-*-*-iso10646-1
XTerm*font4:	-xos4-terminus-medium-r-*-*-20-*-*-*-*-*-iso10646-1
XTerm*font5:	-xos4-terminus-medium-r-*-*-22-*-*-*-*-*-iso10646-1
XTerm*font6:	-xos4-terminus-medium-r-*-*-28-*-*-*-*-*-iso10646-1
XTerm*font: -xos4-terminus-medium-r-*-*-22-*-*-*-*-*-iso10646-1
XTerm*VT100.Translations: #override                               \n\
    Ctrl        <Key>KP_Divide:   string(0x1b)  string("[7;OQ~")  \n\
    Ctrl        <Key>KP_Multiply: string(0x1b)  string("[7;OR~")  \n\
    Ctrl        <Key>KP_Subtract: string(0x1b)  string("[7;OS~")  \n\
    Ctrl        <Key>KP_Add:      string(0x1b)  string("[7;Ol~")  \n\
    Shift Ctrl  <Key>Tab:         string(0x1b)  string("[~Z")     \n\
    Ctrl        <Key>Tab:         string(0x1b)  string("[z")      \n\
	Shift Ctrl	<Key>Prior:       string(0x1b)  string("[5;6~")   \n\
	Shift 	    <Key>Prior:       string(0x1b)  string("[5;2~")   \n\
	Shift Ctrl	<Key>Next:        string(0x1b)  string("[6;6~")   \n\
	Shift 	    <Key>Next:        string(0x1b)  string("[6;2~")   \n\
	Shift       <Key>Insert:      string(0x1b)  string("[2;2~")   \n\
    <Btn1Down>:       select-start(CLIPBOARD)                     \n\
    <Btn1Up>:         select-end(PRIMARY,CLIPBOARD,CUT_BUFFER0)   \n\
    Shift <Btn1Down>: ignore()                                    \n\
    Shift <Btn1Up>:   select-end(PRIMARY,CLIPBOARD,CUT_BUFFER0)   \n\
    <Btn2Down>:       select-start(CLIPBOARD)                     \n\
    <Btn2Up>:         select-end(PRIMARY,CLIPBOARD,CUT_BUFFER0)   \n\
    Shift <Btn2Down>: select-start(CLIPBOARD)                     \n\
    Shift <Btn2Up>:   select-end(PRIMARY,CLIPBOARD,CUT_BUFFER0)   \n\
    <Btn3Down>:       ignore()                                    \n\
    <Btn3Up>:         insert-selection(PRIMARY,CLIPBOARD)         \n\
    Shift <Btn3Down>: ignore()                                    \n\
    Shift <Btn3Up>:   insert-selection(PRIMARY,CLIPBOARD)         \n\
    Meta   <Key>F9:   fullscreen()
я для mc пилю по мере возможности.
а как tar.gz обрабатываете? ведь tar.gz не хранит списка файлов и не отдает его и если нужно распаковать несколько файлов приходится распаковывать всё и это боль если такой файл большой.
ctrl+'+' не работает (

у меня Xterm настроен так чтобы esc последовательность генерировалась для ctrl+'+'
как этой последовательности научить far2lc?
не думали на счет просмотрщика картинок в консоли, ковырясь сейчас с этим, хотелось бы чтобы по F3 на картинке оно показывало в терминалах vt340, как это сделана в утилите lsix через SIXEL-ы en.wikipedia.org/wiki/Sixel

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность