LINUX.ORG.RU

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

Как частично принять коммит на github?

Форум — Development

Привет. У меня есть некий проект на github и вдруг прилетел коммит. Я был удивлён, что мой проект кого-то заинтересовал.

Ну так вот, в этом коммите есть правильные исправления, но другие изменения меня не устраивают. Как частично принять коммит через браузер?

Вот скриншот: http://i.imgur.com/294CT5G.png

 ,

iljuase
()

Снова сairo-dock и conky

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

Со сменой железа появился повод поковырять привычное окружение. Процесс сильно растянулся по времени и в конце концов привел к такому результату.

Скриншот с окнами.

Cairo-dock. Привел к более однообразному виду. Трей отправился в субдок, на его месте монитор ресурсов. Таскбар теперь тоже частично стилизован под текст.

Conky. Открыл для себя, что коньки умеют lua+cairo. Круто конечно, можно пилить нескучные индикаторы с помощью cairo, а полноценный скриптовый язык вместо местами довольно унылой разметки коньков - вообще песня. Конькам можно придать абсолютно произвольный вид, без всяких оговорок.

В остальном с прошлого раза мало что изменилось

  • GTK - Boje
  • ШГ - Play
  • Иконки - ACYL

Еще вариант в «теплых ламповых» цветах: раз, два.

Если кому интересно взглянуть на скрипт для коньков, то вот.

>>> Просмотр (1920x1080, 166 Kb)

 , ,

Worron
()

Red Flat Awesome

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

Примерно год назад решил попробовать awesome. Хотелось чего-то максимально кастомизируемого, но более монолитного и системонезависимого. Данный wm показался интересным в этом плане, так что вооружившись напильником попытался сделать на его основе годное, согласно своим представлениям, окружение.

Еще скриншоты: традиционный с окнами[1] и все остальные[2][3][4][5][6][7].

На панели можно увидеть

  • Модифицированный taglist на самописных виджетах.
  • Набор индикаторов: иконка меню и оповещалка об обновлениях в одном, раскладка клавиатуры, регулятор громкости, почта, кастомный layoutbox. На громкости висит простенький виджет для моего любимого exaile[2], layoutbox умеет меню выбора режима тайлинга[2].
  • Сильно перепиленный tasklist[4][5]. Приложения обозначаются трехбуквенными алиасами, окна одного класса группируются в один значок. При наведении подсказка с полным именем или списком группы, по правой кнопке менюшка управления окном.
  • Специальный виджет для минитрея, точками обозначено количество приложений в трее. По клику/хоткею является собственно сам минитрей.
  • Индикаторы ресурсов - выдрал код из vicious и прикрутил свои визуалы. Была задумка сделать нескучные всплывающие виджеты с системной инфой, как раньше было у меня в доке, но энтузиазм закончился уже на первом, показывающем топ процессов[3]. Даже его не допилил до конца, память отображает криво.
  • Часы.

Виджеты на рабочем столе - перенес свои луа скрипты от коньков на базу awesome. Тут нет готовых датчиков, но на помощь снова приходит vicious. В целом средствами осома такие штуки пилить даже удобнее, ибо тру модульность и интерактивность. Зависимые от сети вещи подключены через модификацию asyncshell. Может быть имело смысл все через него пускать, но поздновато осознал насколько это нужная и полезная штука, лень переделывать.

Для пущего уюта установил uselessgap тайлинг от Lain. Сделал активные грани экрана. Немного переписал awful.menu, добавив автоскрытие, возможность вставлять неиндексируемые элементы(заголовки, разделители), автоматическую расстановку хоткеев и еще по мелочи[2][4]. На базе menubar запилил запускалку приложений[3] в стиле synapse, очень нравится такой визуал. Сильно скучал по классическому альттабу, даже накостылял кое-что, но потом некто Joren Heit выкатил няшный Familiar Alt Tab. Скрестив его и свои наработки получил такую переключалку[5][6]. Адским костылем с помощью asyncshell и rsvg-convert прикрутил адекватное масштабирование векторных иконок, заодно добавив смену цвета на лету. Сделал подсказку по хоткеям[7], как сами знаете где, с интерактивной подсветкой (пока без модификаторов).

Многое еще нужно допиливать, но надежда завершить все это и нормально оформить изрядно подтаяла за прошедшее время, так что решил вбросить то что есть, в сыром виде. Все скрипты можно посмотреть здесь. Пользуясь случаем, хочу поблагодарить unlog1c за его конфиги, некоторые вещи откровенно позаимствовал оттуда.

Awesome 3.5.6, compton, тема gtk - Boje, иконки ACYL, шрифты play и prototype.

>>> Просмотр (1920x1080, 123 Kb)

 ,

Worron
()

Duktape 1.5.0 — встраиваемый движок JavaScript

Новости — Open Source
Группа Open Source

Состоялся релиз Duktape 1.5.0 — легковесного встраиваемого JavaScript-движка (полностью поддерживается ECMAScript 5, частично — шестая версия), который может работать на платформах с 64КБ системной RAM и 256 КБ flash. Среди преимуществ можно отнести также и простоту встраивания в программы на C/C++ (для этого нужно добавить в проект всего 3 файла — duktape.c, duktape.h и duk_config.h); имеется встроенный отладчик, поддержка Unicode, встроенный движок регулярных выражений. Всё это требует минимального числа зависимостей.

В новой версии улучшен отладчик и снижено потребление памяти.

Официальный сайт

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

 , ,

cetjs2
()

Xfce. Чем заменить Xscreensaver?

Форум — Desktop

Поставил Xfce, проверить состояние проекта. Опять столкнулся с Xscreensaver.

Скринсейвер как таковой мне не нужен, мне нужен ввод пароля на lockscreen-е с указанием используемой раскладки, и желательно предупреждением о нажатом CapsLock.

Запрос пароля Xscreensaver, кроме того, что пугает своим видом и шрифтами, не имеет указанной индикации. Чем и как заменить локскрин на Xfce? Скринсейвер можно выпилить совсем.

 ,

Deleted
()

Онлайн база с задачками для практики программирования

Форум — Web-development

Вот учу сейчас JavaScript, C и Vala
Есть ли в интернете какие-нибудь сайты, где есть готовые задачки, которые предлагается решить самому, для проверки
не могу придумать, что мне написать
Ну или предложите интересные баги в СПО, но только на тех языках, которые я перечислил, я буду только рад :-), ну и разработчикам помогу

 , , ,

mystery
()

После многих лет проганья на C++ я узнал, что C массивы работают не совсем так, как я думал

Форум — Development

Я всегда думал, что в C массивы, определенные как-то так int array[13] = {0}; это на самом деле то же самое, что int*, то есть память выделяется на стеке, и где-то там есть локальная переменная array, указывающая на кусок памяти под 13 интов. И я думал, что единственная разница между массивом и указателем это то, что для массива переопределен оператор sizeof, и соответственно компилятор статически знает его размер.

Сегодня я учился работать в gdb, рассматривал там всякие значения и адреса переменных, и тут конфуз у меня случился. Есть переменная fptr ptrs[3] = { NULL, get_wisdom, put_wisdom };, остановился я в gdb на брейкпоинте, и пишу

(gdb) print ptrs
$12 = {0, 0x804857e <get_wisdom>, 0x8048627 <put_wisdom>}

И думаю: «хмм, странно, почему этот gdb по умолчанию печатает массив/указатель как массив? Пробую print /a ptrs - не получается. Ну ладно, думаю я, видимо в gdb так переопределен принт для массивов, определенных как массивы, и /a почему-то не работает, ну да и хрен с ним.

Пробую затем

(gdb) print &ptrs
$13 = (fptr (*)[3]) 0x804a0d4

и думаю: „ага, почему-то чтобы мне получить значение указателя ptrs, надо написать & - странно плохо сделали тупо, а теперь я хочу получить адрес собственно переменной ptrs, а не ее значение:

(gdb) print &&ptrs
A syntax error in expression, near `&&ptrs'.

А оно не работает. Ну тут я начинаю понимать, что что-то здесь нечисто, и возможно я неправильно понимаю C-шные массивы. Иду и создаю на тест программу:

#include <stdio.h>

int main() {
    int array[5] = {0};
    printf("array = %p\n", array);
    printf("&array = %p\n", &array);
};

запускаю ее, а оно выдает

array = 0xbffff530
&array = 0xbffff530

Мамочки, думаю я, так что же, когда в Си объявляешь массив как массив, то он на самом деле не указатель, там нет никакой переменной в памяти, хранящей этот адрес, а есть лишь кусок памяти под 13 или сколько там элементов на стеке, и компилятор статически знает его адрес и при индексации прибавляет к нему сдвиг? И соответственно можно получить лишь адрес этого куска памяти, и этот адрес нигде как переменная не хранится. И соответственно переприсвоить массиву указатель на что-то другое нельзя.

array = calloc(6, sizeof(int));
//a.c: In function ‘main’:
//a.c:7: warning: incompatible implicit declaration of built-in function ‘calloc’
//a.c:7: error: incompatible types in assignment

или

printf("&&array = %p\n", &&array);
// какая-то там ошибка про label'ы, видимо && в C для гоуту используется? не знаю

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

А вообще мне непонятно, нафиг они так сделали? По-моему если бы были только указатели, без массивов, то было бы проще и удобнее. Ну конечно какая-нибудь там конструкция типа sizeof пускай работает, чтобы можно было статически размер их получать.

 

hlebushek
()

Вышел Stellarium 0.14.0

Новости — Open Source
Группа Open Source

После 6 месяцев разработки увидел свет новый выпуск Stellarium'а — одного из популярных свободных планетариев, который создаёт реалистичное трёхмерное небо так, как если бы мы смотрели на него невооруженным глазом, через бинокль или телескоп.

( Основные характеристики и изменения... )

Наряду с большими изменениями планетарий также претерпел много мелких улучшений и уменьшил кол-во зависимостей.

Полный список изменений

>>> Официальный сайт

 , , , ,

alex-w
()

Шипение pulseaudio

Форум — Desktop

Кто как это поборол? Вариант «удалил» принимается к сведению, но пока откладывается.

pulseaudio 5.0, intel hda.

 ,

f1xmAn
()

Годных js-библиотек тред

Форум — Web-development

Осваиваю разработку веб-морд, открыл для себя jQuery, underscore.js и date.js. Что ещё посмотреть полезное/универсальное? Must have, одним словом.

 ,

ollowtf
()