[00:13:25] slavazanko/h вышел из конференции [05:07:04] pa_ зашёл в конференцию [05:30:10] andrew_b зашёл в конференцию [06:21:13] <ilia maslakov> andrew_b Андрей! [06:21:19] <ilia maslakov> Зравствуйте! [06:21:29] <andrew_b> И вам того же. [06:21:35] <ilia maslakov> есть нюансы с новым редактором [06:21:41] <andrew_b> Да. [06:21:45] <andrew_b> Есть. [06:21:50] <ilia maslakov> при распахивании рамка не тогось [06:21:58] <ilia maslakov> на месте остаётся [06:22:06] <ilia maslakov> извиняюсь [06:22:19] <ilia maslakov> при распахивании окна терминала рамка не тогось [06:22:36] <ilia maslakov> рамка окошка редактора на месте остаётся [06:22:55] <ilia maslakov> но должна бы следовать за размерами терминала [06:23:11] <ilia maslakov> я про полноэкранный режим [06:23:17] <andrew_b> Я понял. [06:23:40] <ilia maslakov> про оконный есть идея но надо обсуждать, и наверное отдельным тикетом [06:23:47] <andrew_b> Я тебе другой нюанс покажу. [06:24:12] <ilia maslakov> в оконном по идее надо на коэф. домножать позиции [06:24:36] <ilia maslakov> andrew_b: Я тебе другой нюанс покажу. неужели мультиэито-капец? [06:24:47] <andrew_b> Почти. [06:24:58] <ilia maslakov> НеЕТТ! [06:25:01] <andrew_b> Куда можно зааплоадить рисунок? [06:25:10] <ilia maslakov> на вкус [06:25:24] <andrew_b> Адрес дай. [06:25:26] <ilia maslakov> я на пикасу, но многие на другие [06:25:33] <ilia maslakov> ща дам другого [06:29:00] <ilia maslakov> http://funkyimg.com/ [06:29:26] <ilia maslakov> этим пользовался, но у меня сейчас на работе POST вырезан [06:45:44] <ilia maslakov> andrew_b: ээй, вы где? [06:46:44] <andrew_b> Занят пока. [06:46:46] <andrew_b> Позже. [07:18:14] <andrew_b> ilia maslakov: http://funkyimg.com/viewer.php?img=/2/190/450/cjk2.png [07:24:43] <ilia maslakov> и ЭТО проблема? [07:25:01] <andrew_b> Да. Текст вылазит за границу окна. [07:25:13] <ilia maslakov> надо поправить [07:25:13] <andrew_b> Я частично починил, но не до конца. [07:25:26] <ilia maslakov> там ширина символа известна [07:25:27] <andrew_b> Да и то, как-то мне моя починка не нравится. [07:25:40] <ilia maslakov> дина окна известна [07:25:48] <andrew_b> diff --git a/src/editor/editdraw.c b/src/editor/editdraw.c index 08e5aa4..a74c410 100644 --- a/src/editor/editdraw.c +++ b/src/editor/editdraw.c @@ -591,7 +591,10 @@ edit_draw_this_line (WEdit * edit, long b, long row, long start_col, long end_co p++; } } - col++; + if (cw > 1) + col += cw - 1; + else + col++; break; } /* case */ [07:26:14] <andrew_b> Но всё равно символ может залазить на рамку. [07:26:15] <ilia maslakov> ну я примерно про это [07:26:26] <ilia maslakov> надо сравнивать [07:27:00] <ilia maslakov> допустим ширина окна 5 [07:27:21] <andrew_b> Дам нет ширины окна. [07:27:22] <ilia maslakov> 3 символа по двойной ширины [07:27:30] <ilia maslakov> это 6 [07:27:32] <andrew_b> Есть начальная и конечная колонка. [07:27:42] <ilia maslakov> ну и? [07:27:59] <ilia maslakov> кол2-кол1 = ширина [07:29:17] <ilia maslakov> SUM(ширина символа) = ширина строки [07:29:35] <ilia maslakov> если ширина строки > ширина [07:29:57] <ilia maslakov> то последний символ не показываем [07:30:35] <ilia maslakov> так ведь? [07:30:45] IceMan зашёл в конференцию [07:31:06] <ilia maslakov> принять участие? [07:31:39] <andrew_b> Прими. [07:31:45] <ilia maslakov> ок [07:31:58] <andrew_b> Дать тестовый файл? [07:32:32] <andrew_b> 124444 已經開始回: )這是困擾著轉型«黨衛軍» ,其中有問題的編碼到來時電腦。今天,它已經無關緊要 已經開始回: )這是困擾著轉型«黨衛軍» ,其中有問題的編碼到來時電腦。今天,它已經無關緊要 已經開始回: )這是困擾著轉型«黨衛軍» ,其中有問題的編碼到來時電腦。今天,它已經無關緊要 已經開始回: )這是困擾著轉型«黨衛軍» ,其中有問題的編碼到來時電腦。今天,它已經無關緊要 已經開始回: )這是困擾著轉型«黨衛軍» ,其中有問題的編碼到來時電腦。今天,它已經無關緊要 已經開始回: )這是困擾著轉型«黨衛軍» ,其 中有問題的編碼到來時電腦。今天,它已經無關緊要 [07:32:37] <andrew_b> Скопируй. [07:33:11] <ilia maslakov> ок [07:33:19] <ilia maslakov> обираю пока [07:36:32] <andrew_b> Ещё мне интересно вот что: 384 if (col + 16 > -edit->start_col) [07:36:44] <andrew_b> Что это за магческое число 16? [07:41:20] <ilia maslakov> :) [07:41:29] <ilia maslakov> думаю длина [07:41:47] <andrew_b> Длина чего? :) [07:42:17] <ilia maslakov> 2 года прошло [07:42:24] <ilia maslakov> я думаю для цифр [07:42:29] <ilia maslakov> нуммерации [07:42:44] <ilia maslakov> и точки кстати у тебя [07:42:53] <ilia maslakov> при перелистывании вбок [07:43:14] <ilia maslakov> пока не знаю как решать, может пусть точки [07:43:31] <ilia maslakov> понятно почему точки, да? [07:43:41] <andrew_b> Да. [07:43:59] <andrew_b> Это не у меня точки. [07:44:03] <andrew_b> Это у нас точки. [07:44:10] <ilia maslakov> не утебя [07:44:12] <ilia maslakov> у меня [07:44:18] <ilia maslakov> сокласен [07:44:23] <ilia maslakov> перемотали на полсимвола, что показывать непонятно [07:44:49] <ilia maslakov> не будешь же на Nсимволов сктолить вбок [07:44:53] IceMan вышел из конференции [07:44:56] <ilia maslakov> скакать будет [07:45:11] <ilia maslakov> ну пусть точка [07:45:32] <ilia maslakov> в фаре показывается ">" [07:45:39] <ilia maslakov> во вьювере [07:45:50] <ilia maslakov> типа там ещё данные [07:46:07] <ilia maslakov> можно будет подумать [07:46:24] <ilia maslakov> ладно я пока со строкой поковыряюсь [07:46:53] <ilia maslakov> почему столько опечаток, блин... [07:52:09] <ilia maslakov> 16 это не длина [07:52:24] <andrew_b> Понятно, что не длина. [07:55:42] ilia maslakov вышел из конференции [07:55:47] ilia maslakov зашёл в конференцию [08:06:44] <ilia maslakov> хы [08:06:57] <ilia maslakov> Floating point exception holmes@holmes:/home/projects/mc$ [08:07:16] <andrew_b> Хдейта? [08:07:27] <ilia maslakov> окошко сделай по высоте 5-7 по высоте [08:07:36] <ilia maslakov> когда в панелях [08:07:41] <ilia maslakov> а потом f4 [08:08:13] <ilia maslakov> 7 [08:08:21] <ilia maslakov> достаточно 7 [08:08:27] <ilia maslakov> и запусти mc [08:08:44] <ilia maslakov> 4.8 [08:09:17] <andrew_b> Не падает. [08:09:22] <ilia maslakov> Program received signal SIGFPE, Arithmetic exception. 0x080cb2b2 in repaint_file (panel=Unhandled dwarf expression opcode 0x5 ) at panel.c:845 845 second_column = (file_index - panel->top_file) / llines (panel); [08:09:44] <andrew_b> А... [08:10:11] <andrew_b> Да. [08:11:17] <andrew_b> Division by zero. [08:12:30] <ilia maslakov> бракоделы, чо [08:13:37] <andrew_b> 318 #define llines(p) (p->widget.lines - 3 - (panels_options.show_mini_info ? 2 : 0)) [08:14:27] <andrew_b> Наверное, не надо показывать мини-статус, если панель слишком маленькая. [08:14:40] <ilia maslakov> это второй вопрос [08:14:49] <ilia maslakov> там у меня были идеи [08:14:55] <andrew_b> А первый? [08:15:05] <ilia maslakov> первый проверка на ноль [08:16:37] <ilia maslakov> по второму вопросу - mc проигрывает фару в этом плане [08:17:14] <ilia maslakov> в фаре даже в маленьком окне можно работать [08:17:33] <ilia maslakov> в mc вобще засада [08:17:39] <ilia maslakov> но это другое [08:22:45] <ilia maslakov> а почему b: [164], row: [2], start_col: [0], end_col: [29]] b: [164], row: [3], start_col: [0], end_col: [29]] b: [164], row: [4], start_col: [0], end_col: [29]] b: [164], row: [5], start_col: [0], end_col: [29]]
? [08:22:59] <ilia maslakov> как бы я не двигал окно редактора [08:23:08] <ilia maslakov> и не скролил [08:23:18] <ilia maslakov> 29 это текущая ширина [08:23:52] <ilia maslakov> как раз именно та самая ширина [08:24:03] <ilia maslakov> которой ты сказал что нет [08:25:03] <ilia maslakov> извини, вру, если край окна редактора уходит за край терминала то [08:25:11] <ilia maslakov> b: [31], row: [1], start_col: [0], end_col: [9]] b: [164], row: [2], start_col: [0], end_col: [9]] b: [164], row: [3], start_col: [0], end_col: [9]] b: [164], row: [4], start_col: [0], end_col: [9]] b: [164], row: [5], start_col: [0], end_col: [9]] [08:25:21] <ilia maslakov> end_col меняется [08:25:46] <ilia maslakov> start_col нет [08:25:58] <andrew_b> Какой край? [08:26:04] <ilia maslakov> если уводить влево [08:26:20] <ilia maslakov> тут должна быть какая то связь [08:26:36] <andrew_b> Там всё запутано. [08:26:40] <ilia maslakov> end_col зависит от правой границы терминала [08:26:59] <ilia maslakov> start_col ни от чего не зависит и всегда 0 [08:27:15] <ilia maslakov> какой то фэйковый параметр [08:27:21] <andrew_b> 609 print_to_widget (edit, row, start_col, start_col_real, end_col, line, line_stat, book_mark); [08:27:29] <andrew_b> start_col, start_col_real [08:27:32] <ilia maslakov> в таком раскладе нельзя шириву посчитать [08:27:46] <andrew_b> Тут куча start_col [08:27:55] <ilia maslakov> я понял [08:28:09] <ilia maslakov> но факт в том что нам нужна ширина окна [08:30:15] <ilia maslakov> нужно как то передать реальный start_col [08:30:40] <ilia maslakov> по идее он будет отрицательным... [08:31:16] <ilia maslakov> тогда ширина будет end_col-start_col [08:31:44] <ilia maslakov> я пока алгоритм показа символов поменяю "забиваясь" на это [08:32:02] <ilia maslakov> а потом можно и над end_col подумать [08:33:43] <ilia maslakov> ты это if (col + 16 > -edit->start_col) смог асилить? :) [08:34:04] <andrew_b> Я даже не пытался. :) [08:34:10] <ilia maslakov> ок [08:54:08] <ilia maslakov> ну вот смотри [08:54:19] <ilia maslakov> у табуляции та же проблема [08:54:31] <ilia maslakov> но там всё лучше [08:54:38] <ilia maslakov> но глючок есть [08:55:00] <ilia maslakov> надо сначала поправить бабуляцию [08:55:05] <ilia maslakov> надо сначала поправить табуляцию [08:55:12] <ilia maslakov> займусь [09:11:43] il.smind зашёл в конференцию [09:39:37] il.smind вышел из конференции [10:00:03] <andrew_b> ilia maslakov: ну, как дела? [10:43:10] <ilia maslakov> кое что получилось но есть нюансы [10:44:10] <ilia maslakov> нужна поправка какая то ещё [10:44:31] <ilia maslakov> но пока не понял какая [10:44:58] <ilia maslakov> надо вычесть количество перемотанных символов которые уехали влево [10:46:11] <ilia maslakov> может это q [10:46:42] <ilia maslakov> не... не q [10:46:56] <andrew_b> А что такое q? [10:47:10] <ilia maslakov> 364 q = edit_move_forward3 (edit, b, start_col - edit->start_col, 0); [10:47:38] <ilia maslakov> может edit->start_line [10:48:04] <ilia maslakov> мне надо знать сколько символом пропусли [10:48:05] <andrew_b> Не. [10:48:24] <andrew_b> start_line -- это начальная строка. [10:48:27] <ilia maslakov> т.е. сколько находится за левой границей [10:48:36] <ilia maslakov> а.. лайн [10:48:41] <ilia maslakov> я протупил, да [10:48:54] <ilia maslakov> edit->start_col имел ввиду [10:50:28] <ilia maslakov> да edit->start_col: [-24] [10:50:40] <ilia maslakov> ща значит доделаю... [10:52:23] <ilia maslakov> да, всё чики пуки [10:52:44] <ilia maslakov> может грязноват, но предлагаю обсудить [10:53:24] <ilia maslakov> --- a/src/editor/editdraw.c +++ b/src/editor/editdraw.c @@ -363,6 +363,8 @@ edit_draw_this_line (WEdit * edit, long b, long row, long start_col, long end_co edit_get_syntax_color (edit, b - 1, &color); q = edit_move_forward3 (edit, b, start_col - edit->start_col, 0); start_col_real = (col = (int) edit_move_forward3 (edit, b, 0, q)) + edit->start_col; + + mc_log ("b: [%i], edit->start_col: [%i], row: [%i], start_col: [%i], end_col: [%i], start_col_real: [%i]\n", b, edit->star if (option_line_state) { cur_line = edit->start_line + row; @@ -383,6 +385,8 @@ edit_draw_this_line (WEdit * edit, long b, long row, long start_col, long end_co
if (col + 16 > -edit->start_col) { + int cw_width; + eval_marks (edit, &m1, &m2);
if (row <= edit->total_lines - edit->start_line) @@ -395,10 +399,10 @@ edit_draw_this_line (WEdit * edit, long b, long row, long start_col, long end_co tws--; }
- while (col <= end_col - edit->start_col) + cw_width = 0; + while (col <= end_col - edit->start_col && (col + cw_width) < (end_col - edit->start_col)) { int cw = 1; - p->ch = 0; p->style = 0; if (q == edit->curs1) @@ -599,8 +603,10 @@ edit_draw_this_line (WEdit * edit, long b, long row, long start_col, long end_co if (cw > 1) { q += cw - 1; + cw_width += cw - 2; } } + mc_log ("cw_width [%i]\n", cw_width); } } else [10:54:23] <ilia maslakov> + cw_width += cw - 2; считаем сколько было широких символов [10:54:35] <ilia maslakov> прибавляем к col [10:55:12] <ilia maslakov> и убеждается что (col + cw_width) меньше чем правая граница [10:55:15] <andrew_b> Где прибавляем? [10:55:25] <ilia maslakov> cw_width += cw - 2; [10:55:47] <ilia maslakov> это м.. [10:55:58] <ilia maslakov> плохой код [10:56:05] <ilia maslakov> именно cw_width += cw - 2; [10:56:16] <ilia maslakov> надо заменить на хороший [10:56:22] <ilia maslakov> но оно рабочее [10:56:38] <ilia maslakov> это потому что cw = 3 [10:56:54] <ilia maslakov> надо проверять по другому [10:57:04] <ilia maslakov> где то я такое писал [10:57:17] <ilia maslakov> остальное понятно, да? [10:57:58] <andrew_b> Неа. :) [10:58:31] <ilia maslakov> + while (col <= end_col - edit->start_col && < (end_col - edit->start_col)) (col + cw_width) колонка + лаг (end_col - edit->start_col)) - реальный правый край с учетом перемотки [10:59:04] <ilia maslakov> сейчас я найду где wide_char проверял [10:59:43] <ilia maslakov> if (g_unichar_iswide (utf_ch)) col++; [10:59:52] <ilia maslakov> вот так будет [11:00:24] <andrew_b> iszerowidth [11:00:27] <ilia maslakov> if (g_unichar_iswide (utf_ch)) cw_width++; [11:00:43] <ilia maslakov> iszerowidth согласен [11:00:47] <ilia maslakov> добавлю [11:01:44] <ilia maslakov> ща я патч подчищу и подпушу [11:31:29] <ilia maslakov> что в коментарии написать? [11:32:08] <andrew_b> Fix of mult-byte characters printing [11:32:28] <andrew_b> И ещё один нюанс. [11:33:03] <ilia maslakov> смотри [11:33:10] <ilia maslakov> запушил [11:33:13] <ilia maslakov> но! [11:33:21] <ilia maslakov> надо правую границу [11:33:28] <ilia maslakov> ЛЕВУЮ! [11:33:54] <ilia maslakov> её надо в формулу включатьиначе будет косяк [11:34:32] <andrew_b> Погляди ещё один нюанс. [11:34:53] <andrew_b> Открой обычный англиский текст. [11:35:05] <andrew_b> Хоть version.h [11:35:07] <ilia maslakov> странно что нет косяка и без учёта левой границы... видать где то анигилируется... [11:35:12] <ilia maslakov> таак [11:35:44] <andrew_b> Сдвинь окно вправо, чтобы строки вылезали за экран. [11:36:02] <andrew_b> Строки обрезаются на один символ раньше. [11:36:42] <ilia maslakov> поправить? [11:36:46] <ilia maslakov> ща [11:37:32] <ilia maslakov> ты пока посмотри как оно стало после моего фикса [11:38:12] <ilia maslakov> табуляцию я тоже поправил [11:43:07] <andrew_b> ilia maslakov: стало лучше, но не совсем. [11:43:14] <ilia maslakov> ?? [11:43:34] <ilia maslakov> я сделал чтобы иероглифы наползали на границу [11:43:47] <ilia maslakov> если они не влезают целиком [11:43:59] <andrew_b> Надо, чтобы не наползали. [11:44:15] <andrew_b> Потому что наползают не только иероглифы. [11:45:54] <ilia maslakov> а что еще? [11:46:07] <ilia maslakov> ^A ? [11:46:37] <andrew_b> Да. [11:47:07] <ilia maslakov> ну как по мне так наоборот хорошо... [11:47:36] <ilia maslakov> ок, есть побочные эфекты.. [11:47:42] <ilia maslakov> поправлю сейчас [12:10:13] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2011 (Warning at the entrance to the archive) updated http://www.midnight-commander.org/ticket/2011#comment:2 • Ticket #1977 (unifying some declarations in edit dir) updated http://www.midnight-commander.org/ticket/1977#comment:3 • Ticket #1976 (unifying some declarations in src dir) updated http://www.midnight-commander.org/ticket/1976#comment:5 • Ticket #1908 (Use F3 instead of Ctrl-Space on directory to show size) updated http://www.midnight-commander.org/ticket/1908#comment:3 • Ticket #1763 (F3 on directory with some files tagged) updated http://www.midnight-commander.org/ticket/1763#comment:3 • Ticket #2388 (Postpone file operation dialogs that require user decision) updated http://www.midnight-commander.org/ticket/2388#comment:1 • Ticket #2370 (Allow mcview to display from stdin) updated http://www.midnight-commander.org/ticket/2370#comment:2 • Ticket #2286 (file copy totals off when following symlinks) updated http://www.midnight-commander.org/ticket/2286#comment:1 • Ticket #2270 (Directories and symlinks are displayed by identical colour) updated http://www.midnight-commander.org/ticket/2270#comment:3 [12:17:53] <andrew_b> ilia maslakov: я подпушу немного. [12:22:16] <ilia maslakov> про границы? [12:22:35] <andrew_b> Нет. [12:22:43] <andrew_b> ncurses [12:23:04] <andrew_b> И то не до конца. [12:25:09] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2184 (accelerators hard to see in default theme) updated http://www.midnight-commander.org/ticket/2184#comment:1 • Ticket #2176 (Safe delete improvement) updated http://www.midnight-commander.org/ticket/2176#comment:1 [12:36:08] <ilia maslakov> я попатчил что ты просил [12:36:20] <ilia maslakov> пушить? [12:36:36] ASM вышел из конференции [12:36:36] ASM зашёл в конференцию [12:37:31] <ilia maslakov> только (14:35:51) andrew_b: Сдвинь окно вправо, чтобы строки вылезали за экран. (14:36:09) andrew_b: Строки обрезаются на один символ раньше.
что то с условием не так... если его убираю вообще то начинает русский вводиться [15:16:43] <ilia maslakov> точнее не само условие а вызов edit_translate_key [15:24:18] pa_ зашёл в конференцию [15:28:35] <ilia maslakov> те происходит вот что... раньше вызывался edit_translate_key (208), edit_translate_key (185) в итоге складывался символ 'й' теперь оно вызывается в 2-х местах и в итоге получается вот так edit_translate_key (208), edit_translate_key (208), edit_translate_key (185), edit_translate_key (185) [15:28:48] <ilia maslakov> и из этого уже ничего не складывается [15:30:31] <ilia maslakov> нужен или идентификатор запуска чобы оно в разные кучу складывало или edit_translate_key переносить на уровень выше [15:30:48] <ilia maslakov> в диалогс.с [16:37:01] andrew_b зашёл в конференцию [17:52:06] <andrew_b> ilia maslakov: понятно. Я примерно так и думал. [17:53:24] <andrew_b> Конечно, надо решать системно. В dialog.c. [18:46:40] andrew_b вышел из конференции [19:02:36] il.smind зашёл в конференцию [19:45:40] ilia maslakov вышел из конференции [19:46:21] ilia maslakov зашёл в конференцию [19:50:41] pa_ вышел из конференции [19:57:55] slavazanko/h зашёл в конференцию [19:59:57] pa_ зашёл в конференцию [20:05:06] pa_ вышел из конференции [22:51:08] slavazanko/h вышел из конференции [23:51:42] il.smind вышел из конференции: Компьютер вошёл в спящий режим