• Создаём GTK-видеоплеер с использованием Haskell

    • Перевод


    Когда мы в последний раз остановились на Movie Monad, мы создали десктопный видео-плеер, использующий все веб-технологии (HTML, CSS, JavaScript и Electron). Фокус был в том, что весь исходный код проекта был написан на Haskell.


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


    Мы могли бы продолжить развивать наш подход с вебом, настроив бэкенд на стриминг видеофайла в HTML5-сервер, запустив параллельно сервер и Electron-приложение. Вместо этого мы откажемся от веб-технологий и обратимся к GTK+, Gstreamer и системе управления окнами X11.

    Читать дальше →
    • +35
    • 6,4k
    • 7
  • Tcl/Tk. Разработка графического пользовательского интерфейса для утилит командной строки

      Тестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет. И в первую очередь это касается базовой утилиты p11conf, которая доступна для свободного использования и является утилитой командной строки, взаимодействие с которой осуществляется через стандартный ввод/вывод.
      Читать дальше →
    • Broadway — рендеринг интерфейса GTK3 в браузере (HTML5)

        Иногда необходимо предоставить доступ к приложениям которые не всегда есть возможность установить локально, да и не всегда это нужно. Наверное, лучшим выходом тут был бы web интерфейс на JS/PHP и иже с ними. Но возможно есть другие, более простые в некоторых случаях пути? Особенно если приложение должно оставаться портативным, а ещё лучше не делать почти ничего дополнительно в коде для реализации такого функционала.
        Такую возможность предоставляет Broadway — уже давно не новый, но остающийся в тени backend для GTK3, позволяющий привнести новые возможности туда, где казалось бы уже все давно протоптано.


        Подробности
        • +16
        • 11,8k
        • 6
      • Абстрактный UI. Новый фреймворк для C#, который назвали XWT

          Если посмотреть на существующие современные фреймворки для реализации пользовательских интерфейсов (WPF, GTK, Qt, wxWidgets, да даже модные веб-решения), то легко заметить, что они похожи друг на друга как близнецы. Любой фреймворк содержит кнопки, поля, чекбоксы, переключатели, характеризуемые идентичной с точки зрения пользователя логикой. Отличия заключаются только в низкоуровневой реализации.

          Когда где-то в мире программирования появляется что-то слишком похожее, то это стремятся обернуть в слой абстракции. И вот я случайно наткнулся на подобное решение, созданное парнями из Xamarin. Теми самыми, которые продают C# фреймворк для iOS и Android. Решение это назвали Xwt — судя по всему, это расшифровывается как Xamarin Window Toolkit.

          Читать дальше →
        • gxkb — индикатор и переключатель раскладки клавиатуры для X11

          Каждый пользователь линукс ходя бы раз пробовал перейти с DE на WM. И как это обычно бывает, возникает вопрос какой программой контролировать текущую раскладку, а главное как привязать её к приложениям? Этим вопросом я и занялся написав свою программу — gxkb.

          image
          Подробности
        • Реклама помогает поддерживать и развивать наши сервисы

          Подробнее
          Реклама
        • Локализация простой pygtk программы c glade формой в Linux

            Сразу оговорюсь, что python и gtk у меня 2й версии.

            Неожиданное желание сделать надписи на главной форме разрабатываемой мной программы не только русскими, но и на других языках (а вдруг она нужна будет не только мне), вынудило начать поиск методов реализации. С наскока найти рабочую документацию по локализации glade форм не удалось, потому было решено написать в будущем эту статью, чтобы другим повезло больше.

            Чего нет в этой статье:
            — как делать перевод формы в процессе работы. Этого я не смог найти, а хотелось бы знать…
            — как делать перевод текста в .py коде в процессе работы.
            — пива, блэкджека и остального тут тоже конечно нет.

            Перевод будет осуществляться с помощью указания локали при старте (или локали по умолчанию).

            Читать дальше →
            • +10
            • 4,3k
            • 3
          • Пишем приложение на GTK+ используя C++ и GTKMM библиотеку

            Эпиграф


            Однажды попросила меня жена написать ей простенькую программку, которая сможет вычислять площади фигур, периметры, и другие параметры при наличии достаточных данных. Например, нужна площадь треугольника, указаны его стороны. Вводим стороны нажимаем кнопочку и получаем площадь. Или указана только сторона и два угла. В общем любые данные, достаточные для того чтобы вычислить остальное.
            Стоит отметить, что я являюсь последние лет 5 только веб-разработчиком, в основном PHP, хотя конечно иногда что-то нужно сделать и на ruby и на perl. В общем язык для меня особо не проблема, главное понять смысл процессов в компьютере, а дальше хоть Assembler (когда-то даже занимался дизасемблированием и небольшим патчингом приложений под Windows). Но все-таки когда писал десктопные приложения уже и не помню. Но тут решил написать именно десктопное, чтобы жене было удобно им пользоваться при отсутствии интернета и не нужно было на ее ноутбук ставить вебсервер с PHP. Кроме того уже давно хотел попробовать себя в использовании языка C++. Ну что ж. У жены стоит на ноутбуке Linux Ubuntu. Графическая система — Unity, основанная на Gnome3. А там где Gnome, там GTK+.
            Вот так и было решено написать десктопное приложение под Linux используя Gtk+. Интересно? Добро пожаловать под кат!
            Читать дальше →
          • Создание приложений на GTK+/gtkmm с использованием среды Glade

            Данный пост является дополнением к статье «Создание приложений на GTK+ с использованием среды Glade». Когда я начинал её читать, и наткнулся на слова о том, что пример будет на C++, то заранее обрадовался, так как на тот момент искал примеры связки Glade с gtkmm – обёрточной C++ библиотекой для GTK+. Каково же было моё разочарование, когда оказалось, что автор по непонятным для меня причинам код на C, использующий сишный API GTK+, поместил в ".cpp" файл и назвал это примером на C++. В итоге, я решил самостоятельно трансформировать сишный пример из той статьи на C++. Результат выносится на суд читателей.
            Читать дальше →
            • +10
            • 8,8k
            • 4
          • Кросс-платформенные многопоточные приложения

            Для создания переносимых многопоточных приложений предлагаю воспользоваться библиотекой Glib.
            Glib — это достаточно большая кросс-платформенная библиотека, которая, кроме потоков, включает в себя поддержку интернационализации, работу со строками, массивами, файлами, таймерами, и много чего другого, вплоть до XML парсера и поддерки .ini конфигурационных файлов.
            В тоже время эта библиотека достаточно маленькая и почти не имеет зависимостей, что позволяет без особых проблем включать её в Windows-проекты, а в unix-подобных системах Glib уже есть.
            Читать дальше →
          Самое читаемое