LINUX.ORG.RU

Избранные сообщения hobbit

Баш, питон... А исполняемые C++ сорцы с шебангом видали? :)

Форум — Development
$ cat ~/bin/hello.cpp 
#!/usr/local/bin/build-n-run
#include <stdio.h>
int main() {
    puts("Hello world!");
}

$ hello.cpp 
Recompiling...
Hello world!

$ hello.cpp 
Hello world!

Этот самый /usr/local/bin/build-n-run тоже написан на C++ с использованием std::experimental::filesystem, и он не сильно длиннее эквивалентного баш-скрипта. Собственно работа с путями даже короче. Кому сорц? :)

Отныне в гробу я видал этот ваш баш.

UPD: Сорцы: https://github.com/dimgel/cpp-linux-scripts

 ,

dimgel
()

Как происходит загрузка на ARM?

Форум — Linux-hardware

Сабж. На x86 процесс в общем-то понятен, тут есть BIOS, UEFI, MBR и прочее.

А как происходит загрузка ОС на ARM-ках? Я знаю, что у малинок к примеру что-то свое (бинарное) + загрузчик собственно ОСи. А на других платформах как?

ЗЫ вдогонку: где ваще почитать про ARM?

 ,

valmanner
()

Sublime vs Atom

Форум — Web-development

В чем преимущество Atom кроме того что он бесплатен?

 ,

DmL
()

Блокировка пользователей

Форум — Linux-org-ru

Правила ресурса были обновлены. Изменение заключается в добавлении абзаца, что опубликование пароля ведет к блокировке аккаунта без возможности восстановления. В связи с этим небольшое разъяснение по поводу политики блокировки аккаунтов:

  • Постоянный или временный бан является наказанием за нарушение правил. Баны по желанию пользователей не производятся.
  • Если пользователь желает не посещать ресурс в течение определенного срока или прекратить использование ресурса совсем, ему следует не посещать ресурс в течение данного срока или прекратить использование ресурса совсем. Сообщать об этом публично не стоит.

 , ,

Klymedy
()

Как использовать QSortFilterProxyModel совместно с видом?

Форум — Development

У меня есть проект, в котором до недавнего времени использовалась модель RecordTableModel, расширенная от класса QAbstractTableModel. У этой модели, помимо переопределенных стандартных методов, были добавлены дополнительные методы, которые упрощали взаимодействие вида и модели:

void RecordTableModel::setTableData(RecordTableData *rtData)
RecordTableData *RecordTableModel::getTableData(void)
int RecordTableModel::addTableData(int mode,
                                   int pos,
                                   QMap<QString, QString> fields,
                                   QString text,
                                   QMap<QString, QByteArray> files)
void RecordTableModel::removeRowsByList(QVector<int> delIdx)

Теперь пришло время сделать возможность сортировки в виде. Для этого модель RecordTableModel надо заменить на QSortFilterProxyModel. Внутри вида я создаю объект типа RecordTableModel, создаю объект типа QSortFilterProxyModel, устанавливаю для прокси-модели исходную модель через setSourceModel(), и начинаю пытаться использовать объект класса QSortFilterProxyModel:

 // Было
 recordModel=new RecordTableModel();
 setModel(recordModel);

 ...

 // Стало
 recordSourceModel=new RecordTableModel();

 recordModel=new QSortFilterProxyModel();
 recordModel->setSourceModel(recordSourceModel);

 setModel(recordModel);

Но оказывается, что класс QSortFilterProxyModel не умеет вызывать методы класса Source-модели, заданной через setSourceModel().

Как же мне теперь управляться с данными через прокси-модель? Ведь в ней недоступны методы основной модели. Я пытался применить множественное наследование, создав класс, унаследованный от RecordTableModel и QSortFilterProxyModel. Но у QAbstractTableModel (от которого унаследован RecordTableModel) и QSortFilterProxyModel есть одинаковые методы, и скомпилировать такой код не получается.

 , , ,

Xintrea
()

Тайлинг моей мечты

Форум — Talks

В последнее время занимался немного оптимизацией управления окнами в awesome, и теперь получившейся хренью сил нет охота поделиться. Из интересного есть специальный графически оформленный (да, нужен compton) режим для манипуляции окнами, собственная «полуручная» схема тайлинга, нескучные заголовки с табами.

Видео чтобы не описывать: раз, два.

Конфиги можно потыкать палочкой все там же. Отзывы и мнения приветствуются.

 

Worron
()

К отключению интернетов — готовы!

Галерея — Скриншоты

Пару месяцев назад начал стремительно создавать стратегические запасы информации — софта, книг, фильмов, музыки и всего такого в случае отключения Интернета в нашей стране. Но архив был бы неполноценным без Википедии, для чего была заюзана крайне удобная вещь под названием Kiwix, позволяющая, к тому же (хотя, это, скорее заслуга разработчиков формата OpenZim) сэкономить немало места на диске. Странно, что такая критически важная вещь ни разу не упоминалась на ЛОР'е. Исправляем.

Собственно, хранит информацию Kiwix в формате OpenZIM. на странице загрузки есть огромное количество ZIM-файлов (индексированных и неиндексированных, неиндексированные файлы нужно индексировать самостоятельно, если необходима возможность поиска) на самых разных языках. Kiwix работает как самостоятельное приложение со встроенным браузером, но возможно и запустить сервер (kiwix-serve) и читать локальный архивчик из браузера (что и отображено на скрине).

Архив русской Википедии без картинок с учётом индекса занимает всего, приблизительно, 6,8 ГБ — совершенно немного, позволить его могут себе даже владельцы нетбуков со скромными SSD. Огромная выгода в сравнении с прямолинейным следованиям советов из самой Википедии.

В остальном — обычное LXDE, скриншот которого я уже когда-то публиковал.

//cast router, который в недавнем времени интересовался поднятием локального зеркала Википедии.

>>> Просмотр (1280x1024, 174 Kb)

 ,

svobodka_fighter
()

А у меня на планшете CentOS, а у вас …

Форум — Linux-hardware

[обзор/отчет с парой вопросов]

Вообщем пришел мой Teclast X98 Air (Atom Z3735D, C5KN, с Android).

Подключив usb-клаву неделю стучал по всем кнопкам, начиная с Del, пока понял, что BIOS-а у меня нет. Пришлось взять BIOS от винды.

Подключил hdd от своего десктопа (то же Baytrail, J1800, CentOS7, elrepo-kernel, xorg-x11-drv-intel-2.99.916, последние linux-firmware-20141013). Увидел свет (X-ы запустились).

Беглый обзор (lspci, lsusb) показал, что у меня кроме видеоадаптера, больше ничего и нет ... ;)

Короче, пересобрав ядро (понатыкав галочек для всяких SDIO/GPIO/LPSS/SOC/I2C/SPI) и воспользовавшись советами и патчами умных людей (Adam Williamson, Bastien Nocera) пилящим похожий планшет (Onda v975w), после почти месяца ковыряний, имею следующее:

Работает:

Видео — Отлично. VLC играет fullhd при 50% нагрузке процессора. Пара шероховатостей: экран вверх ногами (требуется fbcon=rotate:2, xrandr --output eDP1 --rotate inverted), все разрешения экрана, кроме максимального, неправильные/повернутые (требуется генерировать новые моделайны).

eMMC/MicroSD — работает. Чем новее ядро, тем лучше. На 3.18 hdparm -t /dev/mmcblk0p1 ~100 MB/sec.

Touchscreen — работает. В BIOS выбрать touchscreen Atmel и поставить драйвер для Goodix.

Wi-Fi — работает со сторонним драйвером (старый правда, в андройде намного новее). Не поддерживает iw (только iwconfig) и NM (видит как проводное соединение).

Акселерометр — работает. с патчем. cat /sys/bus/iio/devices/iio\:device0/in_accel_[x,y,z]_raw показывает положение планшета в пространстве. И куда это можно присобачить?

Кнопачки — работают стандартно («power» — 116, «vol+» - 115 , «vol-» - 114). Правда systemd/logind «power» именно как «power button» не распознает и не засыпает. Просыпается планшет нормально. Вообщем крутить или udev (?), или настройки WM.

Подсветка — работает, регулируется xbacklight.

Виртуализация — поддерживается. ХРюша в Virtulbox-е «летает».

Audio — работает хреново. Распознается как звуковая карта с >100 control-ми!? Самому нужную комбинацию вкл/выкл подобрать не удалось, нашел здесь. После чего звук потихоньку захрипел.

НЕ РАБОТАЕТ:

Состояние батареи — не работает из-за бага в ACPI. Судя по bugzilla оно работало с патчем в 3.16, потом сломали. Неужели нельзя просто поправить ACPI?

Bluetooth — не работает. Должен поддерживаться тем же драйвером, что и Wi-Fi (rtw_btcoex_enable=1), но похоже данной опции не достаточно. Возможно дело в rfkill, на какой-то версии ядра было два переключателя (один был точно «off», но Wi-Fi работал). Сейчас в rfkill list пусто.

Камеры — не работают. В android-е есть драйвера atomisp-* (Intel ATOM Platform ISP Driver) и, насколько понял, конфигурационные файлы для конкретных камер (*.cpf). Все исходники atomisp которые я находил были для ядер 3.0-3.4 … короче, пока даже не пытался.

Видеодекодер PowerVR VXD392 — вроде есть, вроде пилят. Ждем.

WiDi — х/з

Encryption controller 00:1a.0 — х/з

Прочее

работает только с сlocksource=tsc.
RTC можно поменять только из BIOS (установка с помощью date не сохраняется при перезагрузке).
BIOS смог прошить только из под android (затерев его). С fastboot что-то не срослось. Так что второй раз … прошивать из под винды всю прошивку заново?!

ИТОГО

В общем, мне для счастья осталось настроить две вещи: увидеть состояние батареи и включить bluetooth.
(Ну и настроить IceWM для работы на экране 1536х2048 и touchscreen-ом ;)

Ну вот, в принципе, и все вопросы :) Верю, к новому году будет у меня полноценный планшет с полноценным linux-ом :)

P.S. Ставить буду наверное все-таки Fedora 21 (32bit).

arson
()

Написал (базовый) декодер DTS-HD Master Audio

Форум — Multimedia

Давно меня разочаровывала ситуация с поддержкой формата DTS-HD в Linux: инструментов для его декодирования попросту не было. Существующие open source декодеры (а их два: библиотека libdca и основанный на ее коде встроенный декодер FFmpeg) умеют декодировать только обратно совместимое DTS ядро с потерями в качестве. Для перевода треков без потерь (т.е. декодирования расширения XLL, маркетинговое название которого DTS-HD Master Audio) во FLAC приходилось ставить винду и проприетарные кодеки. Поэтому решил покурить стандарт ETSI TS 102114 и написать свой собственный декодер XLLDEC.

Ввиду отсутствия нормальной документации на формат DTS (стандарт не в счет, там много пробелов, недоговорок и неточностей) возможности декодера сильно ограничены. Пока он умеет декодировать без потерь только наиболее базовую конфигурацию потока DTS-HD MA: не более 5.1 каналов, 48 кГц, 16/24 бит. Если обратно совместимое ядро содержит какие-либо расширения (более 5.1 каналов, удвоенная частота дискретизации, DTS-ES мастеринг), декодирование без потерь становится невозможно. Но практика показывает, что аудио треки большого числа Blu-Ray ремуксов, которые можно найти в сети, имеют именно такую конфигурацию. Поэтому декодер не совсем бесполезен.

В общем, желающие приглашаются собрать декодер и попробовать им что-нибудь декодировать. Описание процедуры с примерами есть в README.

P.S. За качество кода просьба сильно не пинать, это моя первая программа на D.

 , , , xll

Deleted
()

Fedora. Автомонтирование флешек и переносимых дисков - как правильно готовить?

Форум — Desktop

Надоели костыли.

Пользовательский кейз: Берем новый внешний USB-диск, подключаем, создаем раздел parted (msdos разметка), создаем mkfs.ext3 (да, нужна ext3, используется со старыми машинами, где нет ext4). Далее, перетыкаем его в usb, он радостно монтируется в /run/media/my_user/my_disk. Все, дальше я ничего не могу с ним сделать без рута.

А нафига тогда его монтировать к /run/media/my_user ? Ведь это по смыслу значит, что он принадлежит этому пользователю. cannot touch ‘/run/media/my_user/my_disk/test’: Permission denied во все поля.

Как по задумке авторов udisks, разработчиков fedora, а так же патрика, леннарта и линуса, должен выглядеть use case для работы с внешним диском или флешкой?

 , ,

Deleted
()

Начало подготовки FOSS Sea 2014: Infrastructure for Researchers

Новости — Конференции и встречи
Группа Конференции и встречи

Команда проекта GeeksLab начала подготовку V конференции разработчиков и пользователей свободного программного обеспечения FOSS Sea 2014: Infrastructure for Researchers, которая пройдет в Одессе 22 ноября.

В этом году фокус конференции будет сделан на вопросах инфраструктуры для исследовательской деятельности. Основное внимание будет уделено практическому применению свободных инструментов и технологий для анализа больших данных, машинного обучения, компьютерного зрения, обработки текстовых данных и высокопроизводительных вычислений.

Программа конференции находится на стадии формирования. Чтобы стать докладчиком, необходимо подать заявку до 10 ноября.

>>> Все подробности и регистрация

 , ,

m31
()

Возможно ли использовать сетевую прозрачность xorg на благо геймеров?

Форум — Desktop

Допустим, я хочу играть в какую-нибуть «тяжёлую» игру на ноутбуке, но при этом используя его по факту только для операций ввода-вывода, а все тяжёлые рассчёты выполнять на стационарном PC, а картинку пробрасывать на ноут по вайфай.

 

next_time
()

Зачем нужна Mesa при использовании проприетарного драйвера?

Форум — General

Правильно ли я понимаю, что media-libs/mesa это открытая реализация OpenGL, предназначенная для тех, кто использует открытые драйверы и не хочет использовать реализацию OpenGL, предоставляемую проприетарными драйверами (при их использовании)?

Если так, то получается при использовании проприетарного драйвера, например fglrx (AMD Catalyst) - mesa вообще не нужна? И там, где при использовании открытого драйвера, например radeon, использовалась mesa - в случае использования проприетарного драйвера, будет использоваться закрытая реализация OpenGL?

 , , ,

VimCasts
()

FreshPlayerPlugin — PepperFlash в Firefox

Форум — Development

Flash плеер всё заменяют и заменяют, но никак не заменят полностью. Новые и сверхновые фичи браузеров это замечательно, но Flash бывает всё ещё нужен. К сожалению, доступная NPAPI браузерам версия застыла на 11.2, а новые версии выходят только в составе Chrome. Поэтому я делаю адаптер, который сможет быть посредником между PPAPI плагином и NPAPI браузером. Это такая штука, которая позволит использовать свежий Flash в Firefox, Opera и других браузерах, в которых работают плагины.

https://github.com/i-rinat/freshplayerplugin

 , , , , ppapi

i-rinat
()

Компания «РОСА» представляет ROSA Desktop Fresh R3

Новости — Linux в России
Группа Linux в России

Компания РОСА выпускает следующий релиз своего дистрибутива для Linux-сообщества ROSA Desktop Fresh R3.

ROSA Desktop Fresh R3 — плановый апдейт-релиз дистрибутива ROSA Desktop Fresh. Линейка «R» предназначается для технически грамотных пользователей, желающих получить свежие версии пользовательского ПО, имеющих достаточно новое оборудование и не предъявляющих повышенных требований к стабильности и безопасности. Это семейство дистрибутивов развивается как силами компании, так и силами сообщества. Релиз включает в себя все исправления, улучшения и дополнения, которые произошли с даты предыдущего релиза R2.

Пользователи, уже использующие ROSA Desktop Fresh R2, получат обновление до ROSA Desktop Fresh R3 через штатную систему обновлений. Следующий релиз дистрибутива ROSA Desktop Fresh планируется выпустить в 3-м квартале 2014 года на основе новой платформы rosa2014.1. В рамках новой платформы будет произведено обновление компиляторов, большого количества системных библиотек и т. д.

Изменения в технической части по сравнению с прошлым релизом

Улучшения в инсталляторе

  • Стадия первичной настройки перенесена в инсталлятор (после установки загрузчика), так что после перезагрузки сразу получается система, готовая к работе.
  • Добавлена поддержка файла подкачки. Если при ручном разбиении не задан раздел подкачки, будет предложено использовать файл подкачки в корневом разделе.
  • Разделы теперь создаются с выравниванием по мегабайтам вместо цилиндров (оптимальнее при работе с SSD и современными HDD; отсутствие пустых участков между разделами). Также стартовое положение раздела теперь задаётся мегабайтами вместо секторов.
  • Исправлены ошибки при создании и использовании шифрованных разделов.
  • Увеличен до 20 Гб максимальный размер корневого раздела, выбираемый при авторазбиении.
  • Список часовых поясов теперь локализуется; добавлен перевод на русский язык. Из самого списка убраны «мусорные» пункты, а редко используемые зоны вынесены из корня списка в категорию «Другие».
  • Раскладка клавиатуры теперь выбирается перед часовым поясом, чтобы пользователь мог искать местоположение путём ввода первых символов его названия на соответствующем языке.
  • Для режима аппаратных часов (UTC или локальное время) теперь по умолчанию выбран пункт, наиболее соответствующий действительности (сравнивается с часами сервера rosalab.ru).
  • Многочисленные исправления и улучшения в русском переводе.

Окружение рабочего стола

  • Основное окружение рабочего стола KDE обновлено до версии 4.12.4.
  • Улучшена интеграция Firefox в KDE (реализована функция смены обоев KDE из контекстного меню изображений в Firefox).
  • Улучшена работа устройств по PTP-протоколу (фотокамеры и т. п.).
  • Улучшена работа устройств по MTP-протоколу (смартфоны с Android 4.x и т.п.).
  • По умолчанию для управления сетевыми подключениями используется KNetworkManager, но в репозиториях доступен Plasma NM.

Обновления прикладного ПО

Популярные пользовательские приложения обновлены до свежих версий:

  • Firefox 28.0
  • Chromium 34
  • Mozilla Thunderbird 24.4.0
  • Clementime 1.2.2 (собран с поддержкой ВКонтакте)
  • VLC 2.1.3

Системная часть

  • Добавлен экспериментальный инструмент urpmi-recover для возможности отката состояния пакетной базы и графический интерфейс к нему.
  • NetworkManager обновлён до версии 0.9.8.9
  • ModemManager обновлён до версии 1.2.0 и собран с поддержкой MBIM
  • PulseAudio обновлён до версии 5.0
  • OpenSSH обновлен до 6.6p1
  • PHP обновлен до 5.5.11
  • Основная версия PostgreSQL теперь — 9.3.3 (для совместимости с некоторыми приложениями PostgreSQL 9.0 оставлен в виде отдельного пакета)

Ядро и драйверы

  • Ядро обновлено до версии 3.10.34 и собрано с поддержкой BFQ версии 7.
  • Бэкпортированы патчи, исправляющие механизм управления яркостью экрана для некоторых моделей ноутбуков.
  • Ndiswrapper обновлён до версии 1.59.
  • Проприетарный драйвер для WiFi-адаптеров Broadcom обновлён до версии 6.30. В драйвере также были исправлены некоторые ошибки, приводившие к краху системы.

Systemd

  • Systemd обновлен до версии 208.
  • Большинство пакетов репозиториев дистрибутива переведены на использование systemd вместо SysVinit.

ROSA Software Center

В репозиториях для тестирования доступна первая бета-версия нового центра установки приложений ROSA Software Center, который планируется использовать по умолчанию в следующем релизе ROSA Desktop Fresh:

urpmi rosa-software-center

Скачать образ ROSA Desktop Fresh R3 можно ЗДЕСЬ

Сообщения об ошибках и запросы функционала принимаются на багзилле РОСЫ.

Обсудить релиз и задать вопросы разработчикам можно на форуме.

>>> Источник

 ,

RosaLab
()

Разыскиваются емкие жесткие диски в HP Microserver

Форум — Talks

Разжился я тут значит под новый год новым HP Microserver. Сейчас стоит задача подбора жестких дисков для этой няши. Поскольку никаких критичных данных там хранится не будет (а если и будет, то будет забекаплено) никаких рейдов использоваться не будет, только LVM, причем диски будут приобретаться последовательно, по мере необходимости. Соответственно требуются хорошие харды пригодные для работы в режиме 24/7/365. Объем пока думаю 3 Тб, но хочется узнать насколько сейчас надежны 4 Тб диски.

 ,

fat_angel
()

Близится диджеекапец

Форум — Talks

... и другие капцы.

Занимательная статья о Digital DJ Licencing в Европе.

Пара отрывков для Ъ:

За каждый скопированный трек нужно платить 13 евроцентов. Или покупать пакетную годовую лицензию: 50 евро за 500 треков. Если у вас вышел из строя жесткий диск, на котором вы хранили свои треки для работы, вы не можете просто так взять и восстановить этот диск из резервной копии. Нужно непременно заплатить пошлину за копирование — 125 евро. Самое восхитительное: GEMA не интересуется конкретным перечнем ваших треков, ее волнует только общее их количество и число произведенных копий.

Знаете, что это такое? Это абсолютная, стопроцентная, совершенная копия тоталитарного кошмара, который деловито и уверенно описал Джордж Оруэлл в своем «1984-ом году». Евросоюз — это Ангсоц в действии. Институты копирастии — это Министерство Правды.
ВОИНА ЭТО МИР
СВОБОДА ЭТО РАБСТВО
НЕЗНАНИЕ — СИЛА

Ненужнаторам: сегодня пришли к диджеям, завтра придут к тебе.

 , , ,

firestarter
()

Вышла игра Kerbal Space Program версии 0.19 с поддержой Linux

Новости — Игры
Группа Игры

Kerbal Space Program (KSP) — игра, имеющая черты симулятора и конструктора, основной целью которой является создание и запуск космического корабля. На данный момент игра находится в стадии разработки.
В качестве игрового движка используется Unity3D, в связи с чем игра была доступна только для OS X и Windows. С выходом Unity3D версии 4, в которой была добавлена поддержка Linux, появилась возможность портирования KSP на данную систему.

В итоге, одним из главных нововведений в KSP 0.19 является нативная поддержка Linux. Официально — Ubuntu 12.04, но разработчиками сообщается, что игра должна работать и в большинстве других дистрибутивов.

Среди других улучшений:

  • новые анимации пилотов;
  • атмосферные эффекты;
  • улучшения графики и сценариев;
  • новые детали.

На странице загрузки можно купить игру ($23) или скачать демо-версию.

>>> Подробности

 , , ,

valentin_v13
()

«Лесенки» в mcedit...

Форум — General

есть такой вариант решить проблему со вставкой лесенки отступов в редакторе: заменить опцию [x] Автоотступ «Вводом» на [x] Автоотступ клавишей «Return» которая будет делать автоотступ через другое сочетание, например через ctrl-enter или alt-enter. и дополнительно ещё добавить в «обучении» кнопку Return чтобы можно было обучить Return например сочетанию C-Enter или A-Enter. т.е. условно разделить Enter и Return где Enter это просто Enter а Return это модификатор + Enter...

прошу принять участие в обсуждении такого решения...

angel_il
()

[Пользователям MC] Как заставить работать выделение по Shift+Стрелки в Konsole KDE4

Форум — Desktop


Некоторые пользователи MC не знают, что в Midnigth Commander с некоторых пор работает выделение текста с помощью Shift+Стрелки. Такое выделение работает во всех эмуляторах терминалов, за исключением Konsole. Объясняю, как настроить этот естественный метод выделения, чтоб не мучать себя F3.


Разобъём настройку на два этапа.


Первый этап простой. Называется "Настриваем работу Shift+Left и Shift+Right".

Тут всё просто. Заходим в настройки профиля «Настройка -> Настроить профиль -> Клавиатура -> Именить». Удаляем строки:

Left+Shift-AppScreen | не помню что, уже удалил
Right+Shift-AppScreen | не помню что, уже удалил

Добавляем строки:

Left+Shift | \EO2D
Right+Shift | \EO2C

Сохраняем, и сразу же начнет работать выделение в MC-редакторе по Shift+Влево и Shift+Вправо.



Второй этап сложнее. Называется "Как заставить работать Shift+Up и Shift+Down".

Рецепт для Debian, и видимо подойдет для Ubuntu.

Вначале заходим в настройки профиля «Настройка -> Настроить профиль -> Клавиатура -> Именить». Удаляем строки:

Up+Shift-AppScreen | ScrollLineUp
Down+Shift-AppScreen | ScrollLineDown

Далее с удивлением узнаем, что комбинации клавиш Shift+Up, Shift+Down, Shift+PgUp, Shift+PgDn захардкорены прямо в коде Kondole, поэтому ничего не остается, как править исходники.

Вначале получаем и компилируем исходники Konsole, чтобы удостовериться, что у нас действительно работает компиляция. Весь процесс по шагам написан в этой статье:

http://webhamster.ru/site/page/index/articles/comp/131

Затем находим в исходниках файл:

./kdebase-4.4.5/apps/konsole/src/TerminalDisplay.cpp

В нем находим метод keyPressEvent, и комментируем следующий блок:

// Keyboard-based navigation
if ( event->modifiers() == Qt::ShiftModifier )
{
    bool update = true;

    if ( event->key() == Qt::Key_PageUp )
    {
        _screenWindow->scrollBy( ScreenWindow::ScrollPages , -1 );
    }
    else if ( event->key() == Qt::Key_PageDown )
    {
        _screenWindow->scrollBy( ScreenWindow::ScrollPages , 1 );
    }
    else if ( event->key() == Qt::Key_Up )
    {
        _screenWindow->scrollBy( ScreenWindow::ScrollLines , -1 );
    }
    else if ( event->key() == Qt::Key_Down )
    {
        _screenWindow->scrollBy( ScreenWindow::ScrollLines , 1 );
    }
    else
        update = false;

    if ( update )
    {
        _screenWindow->setTrackOutput( _screenWindow->atEndOfOutput() );

        updateLineProperties();
        updateImage();

        // do not send key press to terminal
        emitKeyPressSignal = false;
    }
}

Компилируем, устанавливаем полученный пакет, и в Konsole начинают работать Shift+Up и Shift+Down.


В исходниках Konsole присутствует бардак в идеологии, комбинации клавиш для скроллинга вверх и вниз постоянно обрабатываются отдельным кодом, вместо того, чтобы просто обработать событие по клавишам, как оно настроенно в рабочем профиле Konsole. Отсюда и такой нетрадиционный способ исправления.

Любителям английского языка рекомендую активировать в багтрекере KDE4 действия по устранению этого безобразия.

xintrea
()