WildLion
|
Сообщение #1
21 мая 2014 в 22:53
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:14 пользователем WildLion
|
agile
|
Сообщение #2
22 мая 2014 в 10:14
|
Новичок
37 |
Похоже, что это задается в gtk.css (или terminal.js): https://github.com/zzrough/gs-extensions-dr...ugh.org/gtk.csshttps://github.com/zzrough/gs-extensions-dr...terminal.js#L75P. S. Цвета в terminal.js по умолчанию в 64-bit формате #rrrrggggbbbb, но можно использовать и стандартные записи #rrggbb / #rgb Последний раз отредактировано 22 мая 2014 в 10:20 пользователем agile
|
WildLion
|
Сообщение #3
22 мая 2014 в 12:44
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:14 пользователем WildLion
|
agile
|
Сообщение #4
22 мая 2014 в 13:22
|
Новичок
37 |
ENRAGED писал(а): Походу, что-то нашёл в файле terminal.js Видно это и отвечает за цветовую схему. Сразу не заметил — массив этих цветов дальше по коду не используется (если верить комментарию — с такой палитрой возникают какие-то проблемы с цветом): https://github.com/zzrough/gs-extensions-dr...erminal.js#L301 // FIXME: we get weird colors when we apply tango colors // // terminal.set_colors_rgba(ForegroundColor, BackgroundColor, TangoPalette, TangoPalette.length); — попробуйте раскомментировать эту строку ENRAGED писал(а): В папочке с расширением есть ещё один css: stylesheet.css и он как раз пустой. Видимо в нём нужно указвать свои стили, но я увы не знаю какие селекторы использовать. :( Сомневаюсь, что для самого терминала используется html-движок :) В расширении используется виджет эмулятора терминала VTE — думаю, стоит копать в сторону его API: https://developer.gnome.org/vte/0.37/VteTerminal.html Последний раз отредактировано 22 мая 2014 в 13:27 пользователем agile
|
WildLion
|
Сообщение #5
22 мая 2014 в 22:39
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:14 пользователем WildLion
|
agile
|
Сообщение #6
23 мая 2014 в 07:49
|
Новичок
37 |
ENRAGED писал(а): и получилось так, что совсем пропал цветной текст. Текст появляется, но чёрным цветом на чёрном фоне. А если задать цвета в стандартном представлении (#rrggbb) — текст все равно остается черным? ENRAGED писал(а): И по поводу шрифта не совсем уверен, но нашёл строчку: const FONT_ NAME_SETTING_KEY = "monospace-font-name"; А по поводу размера пока не понятно. Да, по идее, эта константа должна задавать имя шрифта: _updateFont: function() { this._terminal.set_font_from_string(this._interfaceSettings.get_string(FONT_NAME_SETTING_KEY)); }, а что касается размера — можно попробовать сделать такой костыль: _updateFont: function() { ... this._terminal.set_font( this._terminal.get_font().set_size( *размер шрифта в пунктах* ) ); },
|
WildLion
|
Сообщение #7
23 мая 2014 в 16:51
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|
WildLion
|
Сообщение #8
23 мая 2014 в 16:53
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|
agile
|
Сообщение #9
23 мая 2014 в 18:49
|
Новичок
37 |
ENRAGED писал(а): Пробовал подставить размер шрифта в пунктах. Расширение после этой манипуляции даже не запустилось. Печально, но, впрочем, неудивительно — костыль писался «на коленке», по ходу чтения документации. Проверить его работоспособность пока нет возможности — сам давно не использую среду GNOME, перешел на тайловый оконный менеджер-валенок Awesome и щазлив :) ENRAGED писал(а): Было бы очень хорошо, если бы вместе по порядку разобрали, что и за что отвечает в этом файле, так как я в js не очень. Да тут, по сути, JavaScript и нет как такового, сплошные GTK, GDK и иже с ними... У вас какой дистрибутив? :) Попробую на днях поднять виртуальную машину с linux и поковырять это расширение — самому стало интересно, как его можно «допилить» в вашем случае
|
WildLion
|
Сообщение #10
24 мая 2014 в 00:03
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|
agile
|
Сообщение #11
24 мая 2014 в 12:07
|
Новичок
37 |
Посмотрел расширение — с цветами так и не получилось разобраться, ForegroundColor и BackgroundColor работают так, как и полагается, а если дополнительно указать палитру, то получаются черные прямоугольники заместо цветного текста, как вы и описали. Даже не знаю, с чем это связано, если судить по документации, там все верно, так что это похоже на баг VTE. Что касается шрифта — здесь продвижение есть, задать шрифт Consolas с размером в 15px можно следующим образом: - Прописать в самом начале terminal.js
const Pango = imports.gi.Pango; - В _createTerminal добавить
terminal.set_font_from_string( "Consolas" ); let font = terminal.get_font(); font.set_absolute_size( 15 * Pango.SCALE ); terminal.set_font( font ); - Закомментировать в _updateFont строку
// this._terminal.set_font_from_string(this._interfaceSettings.get_string(FONT_NAME_SETTING_KEY));
P.S. FONT_NAME_SETTING_KEY определяет не имя шрифта, а имя соответствующего параметра в *.xml файле-схеме расширения. Только вот параметра "monospace-font-name" в схеме расширения почему-то нет :)
|
WildLion
|
Сообщение #12
24 мая 2014 в 19:44
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|
agile
|
Сообщение #13
24 мая 2014 в 20:10
|
Новичок
37 |
ENRAGED писал(а): Терминал не запустился и выдавало ниже во всплывающем окошке ошибку: Drop down terminal ended abruptly. you can activate the debug mode to nail down the issue. У вас все сделано правильно, за исключением того, что приведенный мной участок когда в _createTerminal располагается до объявления переменной terminal, а должен после: скрытый текст… _createTerminal: function() { let terminal = new Vte.Terminal();
terminal.set_can_focus(true);
if (terminal.set_background_transparent) { // removed in 0.34.8 terminal.set_background_transparent(false); }
terminal.set_allow_bold(true); terminal.set_scroll_on_output(true); terminal.set_scroll_on_keystroke(true); terminal.set_scrollback_lines(8096); terminal.set_backspace_binding(Vte.TerminalEraseBinding.ASCII_DELETE); terminal.set_delete_binding(Vte.TerminalEraseBinding.DELETE_SEQUENCE); terminal.set_word_chars("-A-Za-z0-9_$.+!*(),;:@&=?/~#%"); terminal.set_encoding("UTF-8"); terminal.connect("eof", Lang.bind(this, this._forkUserShell)); terminal.connect("child-exited", Lang.bind(this, this._forkUserShell)); terminal.connect("button-release-event", Lang.bind(this, this._terminalButtonReleased)); terminal.connect("refresh-window", Lang.bind(this, this._refreshWindow));
//FIXME: we get weird colors when we apply tango colors // //terminal.set_colors_rgba(ForegroundColor, BackgroundColor, TangoPalette, TangoPalette.length);
terminal.set_font_from_string( "Consolas" ); let font = terminal.get_font(); font.set_absolute_size( 15 * Pango.SCALE ); terminal.set_font( font );
return terminal; }, К слову, все ошибки расширений логируются в ~/.cache/upstart/gnome-session.log (вроде) — в случае краха расширения всегда имеет смысл посмотреть туда
|
WildLion
|
Сообщение #14
24 мая 2014 в 21:00
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|
WildLion
|
Сообщение #15
24 мая 2014 в 21:01
|
Новичок
55 |
Последний раз отредактировано 7 января 2015 в 14:15 пользователем WildLion
|