LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

 , , ,


2

3

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

Это из-за того, что парсер инклюдов разворачивает всё (в том числе структуры и указатели) до примитивных типов. Если версия гтк отличается от моей - возможны отличия в анатомии структур и сегфолты из-за этого. Эта проблема будет решена, но позже.

11. Как выглядит факториал в графическом представлении?

Metaprog: универсальная графическая среда программирования [в разработке] (комментарий)

(пока что на Лабвью)

Примеры

Находятся в прошлых темах. Компилировать исходники нужно так:

gcc ./test.c -o ./test $(pkg-config --cflags --libs gtk+-3.0)

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Прототип чата:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Показывалка языка локализации через seltocale (кстати, у кого что показывает?)

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Прототип чата с прокруткой:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)



Последнее исправление: CYB3R (всего исправлений: 10)
Ответ на: комментарий от Deleted

Попробуй плиз прогнать тот код через gcc -E и castxml

metaprog
() автор топика
Ответ на: комментарий от metaprog
$ clang -E ./callbacks.h -o callbacks.c $(pkg-config --cflags --libs gtk+-3.0)
	clang-8: warning: -lgtk-3: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lgdk-3: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lpangocairo-1.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lpango-1.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -latk-1.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lcairo-gobject: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lcairo: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lgdk_pixbuf-2.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lgio-2.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lgobject-2.0: 'linker' input unused [-Wunused-command-line-argument]
	clang-8: warning: -lglib-2.0: 'linker' input unused [-Wunused-command-line-argument]

$ castxml --castxml-output=1 -o ./callbacks.xml ./callbacks.c
	./callbacks.h:127:16: error: unknown type name 'CairoContext'; did you mean 'PangoContext'?
				   CairoContext *cr,
				   ^~~~~~~~~~~~
				   PangoContext
	/usr/include/pango-1.0/pango/pango-fontmap.h:51:30: note: 'PangoContext' declared here
	typedef struct _PangoContext PangoContext;
								 ^
	1 error generated.

$ ...
Deleted
()
Ответ на: комментарий от metaprog

И где ты по этой ссылке нашел CairoContext? Там или cairo_t или GdkDrawingContext.

ossa ★★
()
Ответ на: комментарий от Deleted

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

metaprog
() автор топика
Ответ на: комментарий от Deleted

Кукаретики такие кукаретики. Даже не запускал, а уже делает вывод, что тормозит и что-то там плохо оптимизировано.

Думаю, мифы о прожорливости веба происходят из таких же школобредней.

rebforce
()
Ответ на: комментарий от rebforce

Даже не запускал

Слушай, тебе реально нужно к врачу, ты уже несколько комментариев подряд видишь того чего нет, сколько это уже продолжается? Это не шутки!!!

Deleted
()
Ответ на: комментарий от metaprog

Да, мелочь. Особенно в сравнении с объёмом проходящих через эти контейнеры данных.

Если что, я начинал со 105 байт программной памяти, 15 операционных регистров, 4 стековых и 512 байт EEPROM. МК-52, да. Давай, расскажи мне про говнософт и оптимизацию, сосунок.

rebforce
()
Ответ на: комментарий от rebforce

И как ты опустился до того, что считаешь допустимым выжрать лишний гигабайт?

metaprog
() автор топика
Ответ на: комментарий от rebforce

Дык рассказывай что ты там начинал.

Deleted
()
Ответ на: комментарий от Deleted

С колбеками на виджет вроде все ок. Теперь вопрос какой колбек отвечает за клик мышкой по виджету?

metaprog
() автор топика
Ответ на: комментарий от metaprog
struct GdkEventButton {
  GdkEventType type;
  GdkWindow *window;
  gint8 send_event;
  guint32 time;


  gdouble x;
  gdouble y;


  gdouble *axes;
  guint state;
  guint button;
  GdkDevice *device;
  gdouble x_root, y_root;
};
Deleted
()
Ответ на: комментарий от Deleted

Теперь понятно. Попытаюсь запилить пример.

metaprog
() автор топика
Ответ на: комментарий от metaprog

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

Если ты действительно нормально знаешь английский, то можешь сам нагуглить такие мелкие детали.

arturianec100
()
Ответ на: комментарий от arturianec100

Если ты действительно нормально знаешь английский, то можешь сам нагуглить такие мелкие детали.

С гуглом вообще ниче знать не надо, просто пишешь рандомные слова из головы типа: «gtk mouse click callback» и первым результатом ответ.

Deleted
()
Ответ на: комментарий от arturianec100

Я бы чувствовал себя беспомощным если бы не мог нагуглить или прочитать в документации такие нюансы

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

Страшно подумать про скорость разработки при такой зависимости от чужих ответов.

Я переведу разработку на коллективную основу как только это станет возможно на «настоящем» Метапроге. Который уже потихоньку начинает делаться, начиная с рисования прямоугольников с текстом на доске.

metaprog
() автор топика
Ответ на: комментарий от rebforce

У тебя нет банковского счёта, что ли?

Внезапно, он не один. И не в одном банке, разумеется.

имеющие наибольшую ценность данные

Откуда ты знаешь, какие данные ДЛЯ МЕНЯ имеют наибольшую ценность?

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

Да, разумеется, это инструмент в руках корпораций. И корпорации в них вложились так, чтобы могущество было в их руках, а обычные люди были винтиками. Под это инструмент и заточен.

А свобода в современном мире, вопреки расхожим верованиям ГНУсных фанатиков, на самом деле заключается разве что в невозможности быть пойманным.

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

hobbit ★★★★★
()
Ответ на: комментарий от rebforce

гигабайт памяти — это сейчас вообще не объём.

Для какого-нибудь Raspberry Pi, привлекательного низким уровнем шума и энергопотреблением — вполне себе объём. А кроме того, ты всегда на компе строго одну программу запускаешь? Если 10 говнокодеров напишут по программе, исходя из того, что гигабайт не объём, тут-то твоя машинка и превратится в калькулятор.

Если что, я начинал со 105 байт программной памяти, 15 операционных регистров, 4 стековых и 512 байт EEPROM. МК-52, да.

Ха, я начинал с 60 (БЗ-21. да).

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Deleted

так ну конечно не стал бы, и никто бы не стал, это же текстовое программирование. а вот в метапроге это всё будет делаться легко и приятно так что каждый школьник сможет всё подстроить под себя начиная от цветов гуя и заканчивая slab allocatorом.

iluha16
()
Ответ на: комментарий от metaprog

Я вообще хренею с нынешнего софта, 10 лет назад 2 гб оперативной памяти хватало на все возможные хотелки, сейчас и на браузер может не хватить без свопа.

metaprog
() автор топика
Ответ на: комментарий от iluha16

Именно так. Мне править CSS намного труднее, чем лабвьюшные алгоритмы.

metaprog
() автор топика
Ответ на: комментарий от metaprog

веб вырос ещё больше твоих игрушек. тогда от браузера требовалось всего лишь отобразить статический контент и при нажатии кнопки в форме выполнить POST к серверу и отобразить статические данные. ты попробуй современный жырный говноссайт открыть теми старыми быстрыми версиями браузеров. так что в данном случае виновато не столько ПО сколько сам веб разросшийся до монструозных размеров благодаря тысячам дублирующих друг друга стандартов. но и ПО конечно тоже из за слабости современных разработчиков к бесконечным фреймворкам и прослойкам.

iluha16
()
Ответ на: комментарий от iluha16

Ниче, есть движения в сторону оптимизации! Васм, шадов-дум, бинари-аст, итд. Может скоро совсем хорошо станет %)

Deleted
()
Ответ на: комментарий от iluha16

Игрушки выросли с примитивного 2д в низком разрешении в 3д с почти фотореалистичной графикой. А веб? Единственное что добавилось реально существенного - видео, и то больше из-за массовой замены диал-апа скоростным интернетом.

metaprog
() автор топика
Ответ на: комментарий от Deleted

А черт знает, хорошо станет или нет, если веб станет ближе к железу, учитывая уязвимости в интеловском барахле.

metaprog
() автор топика
Ответ на: комментарий от rebforce

Если есть, то пора бы уже смириться с тем, что твои имеющие наибольшую ценность данные уже хранятся непонятно где и могут быть использованы непонятно кем в непонятно какой момент непонятно в каких целях

это что за данные интересно такие ценные? долго думал кроме фио, адреса и номера телефона они вроде как ничего не должны знать включая схемы разрабатываемой мной в сарае водородной бомбы мощностью в 700 гигатонн в тротиловом эквиваленте.

iluha16
()
Ответ на: комментарий от metaprog

как ты не понимаешь что добавилась возможность ничего не смыслящим в программировании говнокодерам клепать говносайты. это расширило количество разработчиков и снизило стоимость разработки позволив производить ещё больше говноссайтов с каждый днём.

iluha16
()
Ответ на: комментарий от metaprog

Webgl, webrtc, audio, video, file api, geolocation, добавились штуки для оптимизации, для нормального создания сайтов flex, fetch, итд. Жаль правда что сайты лучше не стали почему то)

Deleted
()
Ответ на: комментарий от metaprog

Банкам нельзя доверять ни на грош.

золотые слова. банкиры конченные твари.

iluha16
()
Ответ на: комментарий от metaprog

Ну совсем сильной близости не допустят конешн %)

Deleted
()
Ответ на: комментарий от Deleted

geolocation? Это же уязвимость! Браузер типа должен спрашивать разрешать ли сайту видеть мою локацию, но... все равно в браузере оно неуместно.

metaprog
() автор топика
Ответ на: комментарий от iluha16

Через криптовалюты не пробовал? Правда выводить их все равно, наверное, придется через карточку...

metaprog
() автор топика
Ответ на: комментарий от metaprog

Он и справшивает. А уместно это в картах.

Deleted
()
Ответ на: комментарий от iluha16

Кстати, родимое государство будет знать сколько ты получаешь и сколько должен налогов. Я слышал в раше вводят налог с фрилансеров («самозанятых»), даже мобильное приложение выпустили...

metaprog
() автор топика
Ответ на: комментарий от metaprog

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

iluha16
()
Ответ на: комментарий от Deleted

лично мне эта аббревиатура ничего не говорит. предполагаю что какой то древний комп на электронных лампах, анодах, катодах с монохромным принтером в качестве вывода и перфокартами в качестве ввода.

iluha16
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.