LINUX.ORG.RU

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

Как написать приложение для GNOME

Форум — Talks

Задолго до персонажа из Рунета с именем евангелиста существовал (и продолжает существовать, хоть и в гораздо более унылом виде) Linux Hater, который ненавидит Линукс и убеждает остальных делать то же самое. На самом деле его, по всей видимости, несколько человек, но это неважно. Я решил запостить перевод одного из его ранних постов.

Это баян 2008 года, то есть времён GNOME 2, но он большей частью ещё актуален. Или, возможно, стал ещё более актуален, чем раньше.

Больше я его переводить не буду, разве что про KDE, может быть, переведу. Или нет.

Итак: «Как написать приложение для GNOME».


  • Возьмите за образец какое-нибудь нормальное приложение для другой платформы (Windows, Mac, KDE — лучше всего Mac). Самый шик — повторить функционал, который реализован уже в трёх приложениях на GTK+, но которые не хотят интегрироваться в Gnome.
  • В гназвании должна быть буква «g». А ещё лучше «gn». Если получится сочетание «gno», «gna» или «gnu», это просто гносхитительно, такую программу стоит установить уже за одно гназвание. Убедитесь, что из названия вообще не понятно, что эта программа делает. Пользователи не должны знать, как произносить «g»: как [г], как [дж] или никак.
  • Пусть программа использует не менее двух объектных фреймворков. Лучше три. Помните: «O» в слове «GNOME» значит «объектный» (от переводчика: GNU Network Object Model Environment). Выбирайте: Corba, Orbit, Bonobo, D-Bus. Один из выбранных фреймворков обязательно должен уметь работать через сеть, только ни в коем случае не используйте его через сеть.
  • Напомните себе, что объектно-ориентированное программирование на чистом C — это не так уж и плохо. assert(gtk_no_really_its_not_so_bad). Еще вспомните, что GTK+ намного лучше Qt, потому что код GTK+, в отличие от кода Qt, не пишется никаким жадным коммерческим предприятием. Так что у GTK+ свободность повышена, а потом, там в названии «+».
  • Наделайте врапперов под все существующие языки программирования, только убедитесь, что они все кривые. Настаивайте, чтобы в дистрибутивах каждый враппер запаковывали в отдельный пакет.
  • Объясните не менее, чем трём другим программистам, что glib не имеет прямого отношения к GNOME. Потому что им интересно.
  • Не забудьте иконку из Tango!
  • Ваша программа должна собираться под Windows, но выглядеть там как ЖОПА.
  • Сделайте список всех фич, которые хотите реализовать.
  • Выкиньте 90% из них. Потому что их кодить слишком сложно. Но только никому этого не говорите, а объясняйте, что они нормальным пользователям не нужны.
  • Из оставшихся реализуйте 2%. Ещё 8% спрячьте в gconf. Хорошенько спрячьте.
  • В интерфейсе программы должно быть не больше четырёх кнопок.
  • Приложение должно зависеть не менее чем от четырёх библиотек с «g» в названии. От этого у него гномовость повышается.
  • Не пользуйтесь Mono — это сифилис, убиващий Gnome, и нельзя заражать им других пользователей. Нет, стоп, писать на Mono можно и нужно, от этого подуктивность вашей работы повысится в несколько раз. Нет, стоп, не надо писать на Mono, а то какой-нибудь свободоё... свободолюбивый дистрибутив, который никому не нужен, никогда не примет вашего софта.
  • Воспользуйтесь модулем, который в скором времени устареет. Тогда его авторы передумают и объявят, что к концу президентства Обамы они почти договорятся, когда этот модуль начнёт устаревать.
  • Если получилось говно, ничего страшного — по крайней мере, Human Interface Guidelines вы соблюли.

    Кстати, я знаю, что вы все блокируете мою сраную рекламу AdBlock'ом (или подписываетесь по RSS, так как я не могу туда рекламу запихнуть). Так хоть плюсаните меня на Digg, козлы мелочные.

    >>> Оригинал
    >>> Как написать приложение для KDE (англ.)
    >>> Как сделать сайт свободного софта — руководство для чайников (перевод)

 ,

proud_anon
()

Предлагаю постоянную работу для программиста на С/С++ в Linux-системах

Форум — Job

Коммерческая организация предлагает вакансию программиста в г.Москва (или дистанционно из других городов РФ, см.ниже)

Основные направления работы организации: 1. Выполнение государственных заказов по системам безопасности (информационной, физической) 2. Инновационные разработки на базе СПО для гос.нужд.

Задачи программиста: 1. Программирование в среде С/С++ программного обеспечения, оболочек под Linux системы. 2. Тестирование устройств с целью оценить возможность и целесообразность их дальнейшего использования в определенных задачах. 3. Разработка с нуля или с использование СПО вспомогательного программного обеспечения, для использования в определенных, узких задачах (различные системы безопасности, сопряжение с устройствами) 4. Разработка драйверов для промышленного изготовленных устройств, работающих на шинах PCI/PCI-Express или через преобразователи интерфейса типа USB-RS-232/438. 5. Разработка и адаптация существующего СПО под конкретные нужды.

Требования к программисту: 1. Наличие гражданства РФ. 2. Отсутствие судимостей, в т.ч. «погашенных». 3. Без требования к специальному образованию (!). 4. Наличие опыта аналогичной работы от 1-ого года. 5. Наличие человеческих качеств - порядочность, ответственность, исполнительность. 6. Наличие собственных разработок (программное обеспечение, драйвера устройств и.т.п), которые могут послужить как доказательство Вашего опыта работы. 7. Инициативность, увлеченность общим делом. 8. Уверенность в собственных силах, уже подтвержденная чем-то (участие в разработках, у которых был результат).

Условия: 1. Официальное трудоустройство с оформлением на работу согласно ТК - 5 дневная рабочая неделя с 09:00 до 18:00 или с 10:00 до 19:00, два выходных дня в неделю, гос.праздничные дни - выходные дни, оплачиваемый ежегодный отпуск. 2. Рабочее место в 15 минут пешком от м.Динамо. Это не офисное здание. Отсутствие шума, лишних людей и спокойная обстановка гарантированы. 3. Хорошее отношение, оплата заработной платы, аванса - без задержек, день в день - гарантировано. 4. В случае нахождения не в г.Москва - ВОЗМОЖНА дистанционная работа. Все подробности оговариваются дополнительно. 5. В случае разработок специальных систем, возможно потребуется оформление допуска к сведениям, содержащим государственную тайну (на время трудоустройства), без ограничений в выезде заграницу. 6. Заработная плата - обсуждается, по результатам собеседования. Минимальный порог - 35 т.р. Максимальный - оговаривается.

Объявление размещено на данном форуме, а также ещё на нескольких профильных Linux-форумах. Это не кадровое агенство и не поиск работы через сайты типа job.ru. Поэтому, прошу, если Вас это заинтересовало - направлять свои резюме, предложения и мысли - в личные соощения. Желательно, если есть определенная заинтересованность - сразу с контактной информацией (E-mail, телефон). Я свяжусь с Вами для обсуждения подробностей.

Спасибо за внимание.

Pavel_P
()

Вернулся на гном, вернувшись на линукс.

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

png без потери качества здесь: Рабочий стол 2.

Сравнительно недавно, после полугода на оффтопе, вернулся на линукс. Любимый fluxbox стало лень пилить, пытался сидеть на KDE (лишь бы не видеть этот gnome 3), но затем снова его попробовал и на сей раз понравилось. Правда, пришлось для полного удовлетворения подключить несколько расширений - об этом ниже.

Используемые расширения:
- Alternative Status Menu - добавляет выключение/перезагрузку/гибернацию в меню. Пример;
- AlternateTab - изменяет поведение Alt+Tab и приводит его к виду, пригодному для homo sapiens. Пример;
- Applications Menu - добавляет более менее привычное меню. Пример;
- Advanced Settings in UserMenu - добавляет доп. настройки в меню, где ему и место, чтобы не засорять док. Пример;
- Panel Settings - позволяет перемещать панель по различным сторонам экрана. Здесь примера не будет, думаю всё понятно. Серьезно говорю, понятно;
- Places Status Indicator - добавляет меню, знакомое со второго гнома. Пример;
- Shellshape - невероятно удобное расширение. Имеет 3 режима: расстановка окон в столбцы по вертикали (тайлинг), расстановка окон в линии по горизонтали(тайлинг), стандартный плавающий режим(восстановление положения окон после включения тайлинга). Пример + пример ниже: 1-й рабочий стол.

Недавно вспомнил про существование замечательного ресурса LastFM и скробблинг. Не нашел ни одного скробблера, который позволял бы отправлять отчет о прослушанной композиции до её завершения, а я хотел восстановить историческую справедливость и накрутить себе статистику. Just for fun написал для этого приложение на Java. Не надо спрашивать почему на ней - сказал же, just for fun. Умеет drag'n'drop из файлового менеджера и поддерживает пока только mp3 и flac (без cue sheet). Сей велосипед и мою скромную коллекцию можно увидеть здесь: Рабочий стол 3. Там же кто-то может заметить подозрительно знакомое приглашение в командную строку (PS1), врать не буду, нагло украл его у одного здешнего товарища. Наверное он повстречается ITT чуть ниже.

В свободное время решил поучить Python. Процесс отображен на следующем скрине и постоянно встречает меня после логина: Рабочий стол 1. Пока, правда, ушел совсем недалеко.

Ну и напоследок: так выглядит мой gnome-shell в Accessibility: «Вид сверху».

Да, чуть не забыл...

Тема GTK3: уже до боли всем знакомый Zukitwo;
Тема shell: аналогично - вышеупомянутый Zukitwo;
Тема окон: всё тот же Zukitwo. Если не ошибаюсь, располагается в вышеупомянутом архиве;
Тема иконок: не менее известный AwOken.

Кажется, ничего не забыл. Вот так и живем.

P.S.: относительно ШГ - сравнительно недавно заводил тред, в котором пытался выяснить ШГ у меня всё-таки или нет. Мнение было практически единогласное - ШГ, но на моем мониторе все выглядит очень четко и ровно, ага. Монитор ASUS vw246u. Если у кого есть подобное чудо - ваше мнение крайне интересно. Спасибо.

 ,

Insomnium
()

Инженер-программист

Форум — Job

Обязанности:

Разработка нового и поддержка существующего ПО используемого в оборудовании производимом компанией Radiofid

Требования:

  • Высшее образование
  • Опыт работы с ОС Linux от 2 лет,
  • Понимание принципов работы компьютерных сетей (маршрутизация, DNS)
  • Опыт программирования на C
  • Знание HTML/CSS
  • Опыт написания сетевых приложений
  • Опыт написания bash скриптов

Желательно:

  • Опыт разработки/исправления ошибок в ядре
  • Знание реализаций OpenVPN, IPSec.
  • Знание радиоэлектроники, схемотехники

Зарплата: 25000 - 45000 рублей на испытательном.

Для !Ъ job.ru

Почта для резюме - dpavlov(woof)radiofid.com

 radiofid, ,

Dark_SavanT
()