Перейти к содержимому

Fltk org что это за папка

  • автор:

FLTK — пишем маленькие кросс-платформенные приложения с олдскульным интерфейсом

Иногда требуется написать кросс-платформенное приложение с небольшим размером. Для управления микроконтроллером, например. Или рисования иконок для дисплеев. Но использовать кросс-платформенные библиотеки вроде Qt, WxWidgets не имеет смысла — весят они ну очень много. Неудобно получается, когда приложение весит 100кб, а графическая библиотека для него – под 30Мб.

На помощь к нам приходит FLTK – Fast, Light Toolkit.

Библиотека распространяется в виде исходного кода и скачивается с сайта fltk.org. Значит, сейчас будем её собирать.

Весь процесс описывается для Windows, собираем компилятором MinGw. Если у вас его нет – вперёд скачивать. Разделим процесс на две части.

Часть первая – компиляция библиотеки

Итак, начнём. Скачиваем последнюю версию FLTK с официального сайта. Архив должен называться fltk-версия-source.tar.gz. Распаковываем его в любое удобное место. Я распаковал его прямо на на диск C в папку fltk-src.

В распакованном виде всё должно выглядеть так:

src

Теперь нам нужно запустить MSYS. Переходим туда_куда_установлен_MinGw\msys\1.0 и запускаем там msys.bat.

mingw1

Вводим туда cd /диск/папка_с_fltk

mingw2

Потом вводим ./configure —enable-threads —enable-localjpeg —enable-localzlib —enable-localpng и ждём.

mingw3

Далее следует ввести make и ждать. Можно пойти чай заварить.

mingw4

Теперь копируем библиотеки в компилятор. Для этого вводим make install

mingw5

Всё, что получилось складывается в папку туда_куда_установлен_MinGw\msys\1.0\local . Для удобства я перенёс эти папки в корень MinGw.

Всё, библиотека готова к использованию.

Часть вторая – пишем программу

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

Для начала нужно нарисовать макет нашей программы (о FLUID я узнал позже). Я нарисовал в GIMP.

gimp

Зачем это делать? Всё просто. У каждого элемента в окне есть свои координаты. И чтобы не ставить элементы наугад, можно просто навести мышку на точку в графическом редакторе и узнать координаты. Исходя из этого всего пишем программу.

#include  #include  #include  #include  #include #include #include  #define CANVAS_X 10 #define CANVAS_Y 10 #define CANVAS_WIDTH 180 #define CANVAS_HEIGHT 100 #define GRID_LEN 5 // размер зерна в холсте  Fl_Box *count_label; char buf[16];  struct point   int x, y; >;  typedef std::mapstd::pairint, int>, point> PointMap; // карта с координатами пикселей  PointMap pixels;  class PaintWindow : public Fl_Window < //немного модифицируем стандартное окно  public:   PaintWindow(int w, int h, char const *title) : Fl_Window(w, h, title)    >   void setpixel(int x, int y, bool add)   std::pairint, int> p = std::make_pair(x * GRID_LEN, y * GRID_LEN); // с помощью древней магии мы используем два аргумента как ключ к карте пикселей   if (add)   point pixel;  pixel.x = x * GRID_LEN;  pixel.y = y * GRID_LEN;  pixels[p] = pixel;  > else   pixels.erase(p);  >   sprintf(buf, "%d px", pixels.size());  count_label->label(buf); // обновляем надпись   redraw();  >   int handle(int event)   double x = Fl::event_x();  double y = Fl::event_y();   if (x  CANVAS_X || x > CANVAS_X + CANVAS_WIDTH - 1 || y  CANVAS_Y || y > CANVAS_Y + CANVAS_HEIGHT - 1) // если мышка за границей холста, то ничего не делаем  return Fl_Window::handle(event);   if (event == FL_PUSH)   setpixel(round(x / GRID_LEN), round(y / GRID_LEN), Fl::event_button() == FL_LEFT_MOUSE); //округляем координаты исходя из зерна, добавляем или удаляем пиксель в зависимости от кнопки мыши  >  if (event == FL_DRAG)   setpixel(round(x / GRID_LEN), round(y / GRID_LEN), Fl::event_button() == FL_LEFT_MOUSE);  >   return Fl_Window::handle(event);  >   void draw(void)   Fl_Window::draw();  fl_color(FL_WHITE);  fl_rectf(CANVAS_X, CANVAS_Y, CANVAS_WIDTH, CANVAS_HEIGHT); // заливаем белый квадрат  fl_color(FL_BLACK);   typedef PointMap::iterator it_type;  for (it_type iterator = pixels.begin(); iterator != pixels.end(); iterator++) < // перебираем все пиксели  int x = iterator->second.x;  int y = iterator->second.y;  fl_rectf(x, y, 5, 5); // рисуем точки  >  > >;  PaintWindow *window;  int main(void)   window = new PaintWindow(200, 300, "Points"); //создаём окно  count_label = new Fl_Box(34, 177, 133, 56, ". "); // создаём подпись  count_label->labelsize(50); //выставляем размер шрифта   window->end(); // закрываем группу окна  window->show(); // показываем окно  return Fl::run(); > 

Теперь нужно сие дело откомпилить. Открываем терминал в папке с программой и пишем там

g++ -o -DWIN32 -D__NO_INLINE__ -static -static-libgcc -static-libstdc++ -lfltk -lmingw32 -lole32 -luuid -lcomctl32 -mwindows 

-DWIN32 – флаг, которые заставят думать FLTK, что мы под Windows

-mwindows – убираем чёрное окошко у приложения и подключаем некоторые системные библиотеки

-DNO_INLINE – флаг, который заставит работать math в нашей программе

-static -static-libgcc -static-libstdc++ – флаги. благодаря которым программа запустится на других компьютерах и не будет ничего требовать

-lfltk -lmingw32 -lole32 -luuid -lcomctl32 – флаги, с помощью которых подключается библиотека и всё, что ей требуется. В некоторых случаях может также понадобиться флаг -lgdi32.

Также можно добавить флаги -O2 и -s для уменьшения размера исполняемого файла.

output

Теперь можно запустить наше творение 🙂

app

И да, код программы ужасен и написан в исключительно демонстрационных целях.

Источников в этот раз не будет, так как всю информацию черпал из программ-примеров, находящихся в том же архиве, что и исходник библиотеки (папки examples и test).

Будь осторожен!

Это минимальный набор всего, чтобы начать работать с сайтом.

Согласен, лучше не стало. Но всё ещё впереди.

Что за папка в Roaming/fltk.org/fltk.prefs ?

Я решил почиститься немного и вижу эту папку, я не знаю что с ней делать но лезть не хочу.
Вот и спрашиваю, чеита?

Лучший ответ

не трогай фултик, система слетит

Борис ЕлисеенкоУченик (109) 6 месяцев назад

Какое окружение рабочего стола вы считаете ХУДШИМ?

И стопицот раз в день это кунг-фу не случается, да. Но случается.

Лол. Если рама сильно фрагментирована, ни фига они не жалкие 😛

Не, даже вяленым поделкам до компиза далеко ещё 😛

ССЗБ, Мы специально настроили dunst, чтобы все уведомления закрывались только вручную.

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

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

А кроссплатформенным стандартом всё таки считается значок в трее

Вылезайте из криокамеры, уже даже на винде, откуда это прилезло, лет 5 как есть нативный центр уведомлений, и не надо обмазываться всякими Snarl. На макоси же издревле принято показывать уведомления на иконке в доке, а в трей лезет только криво портированное шиндузятное ПО.

mertvoprog
( 27.09.21 02:07:40 MSK )
Ответ на: комментарий от mertvoprog 27.09.21 02:07:40 MSK

Не, даже вяленым поделкам до компиза далеко ещё

Да всем далеко до компиза. Он был выдающимся во всём.

уведомления на иконке в доке

Неудобно (но это субъективно) и плохо совместимо с виртуальными столами (а вот это уже объективная проблема). К тому же трей есть у всех, а возможность отправить уведомление на значок панели только у немногих.

лет 5 как есть нативный центр уведомлений

Только он помойка и пользоваться им тяжеловато. Даже шторка андроида 2 версии куда лучше сочетает в себе трей и центр уведомлений.

kirill_rrr ★★★★★
( 27.09.21 08:47:12 MSK )
Ответ на: комментарий от kirill_rrr 27.09.21 08:47:12 MSK

плохо совместимо с виртуальными столами

В чём разница с треем в этом плане? Что там, что там приходится отображать иконки от приложений, которых нет на текущем рабочем столе.

Так можно про любой платформонезависимый сабсет сказать. Это не повод им ограничиваться. Да и про «есть у всех» весьма сомнительно: гномосеки ж выпилили, да и тайловоды не жалуют 😛

Трей ещё большая помойка, если туда срут все подряд.

mertvoprog
( 27.09.21 21:57:45 MSK )
Ответ на: комментарий от mertvoprog 27.09.21 21:57:45 MSK

В чём разница с треем в этом плане? Что там, что там приходится отображать иконки от приложений, которых нет на текущем рабочем столе.

Разница в том, что трей один на все столы, а значки окон — отдельные.

…не имеют никакого отношения к тому, как надо делать.

Некоторые не жалуют, но у всех есть возможность эту функцию включить.

Трей ещё большая помойка, если туда срут все подряд.

Поэтому продвинутые треи помнят тот мусор, который надо не отображать. Но корень проблемы не в этом.

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

kirill_rrr ★★★★★
( 28.09.21 19:07:32 MSK )
Ответ на: комментарий от kirill_rrr 28.09.21 19:07:32 MSK

Зависит от реализации/настроек.

Какая разница, как «надо»? Речь шла о том, как есть.

но у всех есть возможность эту функцию включить

возможность его засрать не повод от него отказываться

Это повод отдать его на растерзание автоматике и скрыть с глаз долой. Как и весь $HOME, в принципе. Там проходной двор. Пуристам, которым это не нравится, приходится перепатчивать половину софта, чтобы он вёл себя прилично и мимо .config/.local/.cache не гадил. А то и контейнерами/изоляцией обмазываться, ага.

Если срать себе в облако, то… ну, вы поняли.

SEVERAGICAL RAIN | ВЫГРЕБНЫЕ ДААААЖДИ

TAKE UMBRELLA FOR NO PAIN | БЕЗ ЗОНТААА НЕ ВЫХАДИИ

THROW IT TO RECYCLE BIN | СРАЗУ В МУСОР ВЫБРАААСИ

’CAUSE IT NEVER WILL BE CLEAN | ПОТОМУ ЧТО НЕ ОТМЫТЬ

mertvoprog
( 03.10.21 02:11:15 MSK )
Ответ на: комментарий от mertvoprog 03.10.21 02:11:15 MSK

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

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

Это повод отдать его на растерзание автоматике и скрыть с глаз долой.

$HOME это не системная папка чтобы туда софт срал, это место, где пользователь держит свои файлы. Для системного мусора есть понятие скрытых файлов, вот пусть скрытыми и остаются. А все открытые файлы должны быть быстро доступны и отсортированы для удобного доступа. Либо ты сортируешь свои вещи сам, либо кто то сделает это вместо тебя, особенно хорошо работает ИРЛ.

kirill_rrr ★★★★★
( 04.10.21 07:07:47 MSK )
Ответ на: комментарий от kirill_rrr 04.10.21 07:07:47 MSK

Для системного мусора есть понятие скрытых файлов

Снапу и некоторым играм плевать на твои хотелки. Как и большинству софта на XDG директории типа .config

SR_team ★★★★★
( 04.10.21 08:34:41 MSK )
Ответ на: комментарий от SR_team 04.10.21 08:34:41 MSK

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

kirill_rrr ★★★★★
( 04.10.21 19:48:19 MSK )
Ответ на: комментарий от kirill_rrr 04.10.21 07:07:47 MSK

иначе можно всё на один стол запихать и жевать кактус

Почему? Окна текущего стола и sticky-окна — это всё ещё намного меньше, чем все окна со всех столов.

$HOME это не системная папка чтобы туда софт срал

Фактически — именно системная, ибо софт о ней знает, она автоматически находится и туда срут все подряд. И что хуже — невпопад, в отличие от системных директорий.

Чтобы те, кто эту функцию жалует, могли ей воспользоваться

Для этого можно запустиь отдельный трейсервер, не нужно что-то «включать». Даже Wayland этому не мешает, SNI работает чисто через D-Bus и может в теории хоть во фреймбуферной консоли работать, только иконочки рисовать неудобно будет :3

Для системного мусора есть понятие скрытых файлов, вот пусть скрытыми и остаются

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

Либо ты сортируешь свои вещи сам

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

mertvoprog
( 04.10.21 19:52:05 MSK )
Ответ на: комментарий от kirill_rrr 04.10.21 19:48:19 MSK

Знатный манямирок, даже мозолееды достаточно адекватны, чтобы в такое не веровать.

mertvoprog
( 04.10.21 19:53:28 MSK )
Ответ на: комментарий от mertvoprog 04.10.21 19:52:05 MSK

Почему? Окна текущего стола и sticky-окна — это всё ещё намного меньше, чем все окна со всех столов.

Потому что закреплённые на всех столах окна входят в окна этого стола — именно так они и работают. Так вот, альтернатива это «показывать окна со всех столов», возможно с некоторыми несущественными вариациями «только свёрнутые» или ещё как то. Но сама суть столов в том, чтобы иметь несколько отдельных списков окон.

И что хуже — невпопад, в отличие от системных директорий.

Системные засираются тоже невпопад. Но к счастью они предназначены для машинного разбора и оптимизация для человекочитаемости не критична. А $HOME это именно для человека, и если софт этого не понимает значит он дефектный.

От того, что у помойки точки в начале, никуда не деваются

Напротив, приличные файлменеджеры имеют такую галочку…

ни тормоза при считывании всего этого через readdir

Не с дискеты же. Вот и тормозов там на десятки милисекунд. Хуже когда миниатюры начинают строиться.

ни внезапное обнаруживание этой помойки в кроссплатформенном софте

Довольно редкий случай использования спецсофта на другой системе. Да и вообще, не чувствую проблемы в том, что иногда мне напоминают что тут ещё что то есть. В конце концов я уже принял решение отказаться от ~/Desktop, куда никто не срёт.

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

вместо толкового атрибута скрытия в ФС хотя бы

Сравнивая 2 варианта на своём опыте, могу сказать, что при всей нелогичности конвенци с точкой, оперировать именем файла быстрее и проще чем файловым атрибутом. Да, надо забить в голову целую одну мысль. Но она уже 13 лет там и мне кажется, что это проще чем расшифровка смысла пиктограмм гугловского материал десигн. Причём пиктограммы закапываются и откапываются раз в 2-3 года, а точка всё ещё на месте.

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

Странно, но почему то у меня в $HOME не помойка и там над моими файлами кто-то может надругаться не более, чем в любом другом месте (кроме /tmp в tmpfs разумеется).

А если в какой то момент я вываливаю туда кучу несортированного мусора, то это делаю я, своими руками, и из каких то соображений, осознавая что это не лучшая идея и потом придётся разгрести, опять же своими руками. И следствие: если там появился какой то мусор, значит он оставлен здесь чтобы обратить на него внимание позже.

Это примерно то, зачем были придуманы $HOME и ~/Desktop. Зачем изобретать свои собственные, но в другом месте?

kirill_rrr ★★★★★
( 04.10.21 20:47:36 MSK )
Ответ на: комментарий от mertvoprog 04.10.21 19:53:28 MSK

Хотелось увидеть примеры говнософта, срущего в хомяк и вменяемые причины почему его обязательно нужно тянуть к себе. Потому что на моём основном компе это ровно… 0 единиц. За исключением может быть digikam, которому я позволил и дальше держать в хомяке свою базу, хотя там есть настройка для этого.

kirill_rrr ★★★★★
( 04.10.21 20:52:13 MSK )
Ответ на: комментарий от kirill_rrr 04.10.21 20:47:36 MSK

иметь несколько отдельных списков окон

Ну имейте, это мелочь реализации. Можно булавки показывать, как в браузерах.

Системные засираются тоже невпопад

Мейнтейнеры следят, чтобы такой херни не было. А за хомяком не следят.

приличные файлменеджеры имеют такую галочку…

Кроме файлменеджеров, лазить в ФС никому не нужно?

HDD и флешки тоже медленными бывают. И перегруженными.

а андроид вообще взял всё худшее от обоих вариантов

Ведроидный софт хотя бы меньше гадит мимо своих data/obb.

оперировать именем файла быстрее и проще чем файловым атрибутом

Ну да, давайте вообще от атрибутов откажемся. Все таймстампы в имя, и размер тоже в имя. И распределение блоков. 255 символов на всё это должно хватить, не хватит — ССЗБ.

почему то у меня в $HOME не помойка

С Вашим пуританством и брезгованием нужным софтом — не удивительно. Некоторые пускаются ещё дальше и патчат софт, который срёт не туда, выше писали.

mertvoprog
( 04.10.21 22:11:32 MSK )
Ответ на: комментарий от kirill_rrr 04.10.21 20:52:13 MSK

@bq:22:12:25:/tmp/dl$ ls -1a ~/|grep '^\.' . .. .adobe .aMule .android .anyRemote .apl.history .appdata .aqemu .arcan .ardour2 .ascrod .asoundrc .asylum .a.txt.swp .audacity-data .azpainter .babel.json .balsa .bash_history .bash_logout .bash_profile .bashrc .batik .baudline .bcast .BillardGL.conf.v7 .bundle .byobu .bzr.log .cabal .cache .calcprefix .calcurse .cdmrc .cgdb .cgminer .cinnamon .claws-mail .cloudcmd.json .cmake .cmus .composer .config .conkeror.mozdev.org .conky .conkyForecast.config .conkyrc .conkyrc2 .conkyrc3 .conkyrc_modern .cups .dbshell .dbus .ddd .degit .designer .devilspie .dia .dillo .directory .dmenu_cache .dmrc .dockbarx .doom.d .dosbox .drawswf .duc.db .dvdisaster .e .eaglemode .ebcache .ebrc .ecomp .ecore .e-crashdump.txt .ed.2016-03-11-0250.46.gz .ed.2016-03-13-0255.48.gz .ed.2016-03-13-1450.36.gz .ed.2016-03-14-0247.54.gz .electron-cash .electrum .elementary .elinks .emacs .emacs~ .emacs.d .emerald .ethereum .etr .etracer .expo .face .FBReader .fbtermrc .fehbg .festival_history .fischerc .fltk .fontconfig .FontForge .freemind .fs-enFKcV .fvwm .fvwm-crystal .gammurc .gconf .geek-life .gem .Genymobile .gervill .ghc .gimp-2.8 .gitconfig .git-credentials .gitlab-cli.json .gksu.lock .glivrc .gnash .gnome .gnome2 .gnome2_private .gnome-commander .gnupg .gnuplot_history .goldendict .golly .gozerbot .gphoto .gradle .grasp_settings .groovy .gstreamer-0.10 .gtk-bookmarks .gtklp .gtkrc-2.0 .gtkrc-2.0-kde4 .gvfs .h2.server.properties .haxelib .hgk .hgrc .hgrc~ .histfile .HotShots .htcfg2 .httpie .hxcpp_config.xml .hydrogen .i2p .i3 .iBank2 .ibus .ICEauthority .icebreaker .icedove .icons .ideskrc .idesktop .imagej .inputrc .instead .ipe .irb_history .ivy2 .jackdrc .java .jitsi .joe_state .jpilot .jspm .kchmviewer .kde .keysnail.js .keysnail.js.bak .kingsoft .lesshst .links2 .liquidwarrc .lmmsrc.xml .local .~lock.se213_lab.docx# .LORA .lyx .lyxauth .m2 .macromedia .mailcap .maltego .mateconf .mateconfd .mcabber .mednafen .memoryblocks-8bc24bfc9d419ce17cdae902fd68c23f .microemulator .mime.types .minetest .mission-control .mixxx .mkshrc .mongorc.js .mono .moonchild productions .mozilla .mplayer .mpv .mtpaint .mysql_history .nano .nbi .neercsrc .netbeans .ngrok2 .nix-channels .nix-defexpr .nix-profile .node-gyp .node_repl_history .npm .nwjs .odbc.ini .offlineimap .offlineimaprc .openoffice .openshift .openshot .opera .Osmos .parallel .pdsettings .pentadactyl .php_history .pip .pki .PlayOnLinux .pnpm-store .profile .psi .pulse .pulse-cookie .purple .purple-metaprog.pem .purple-metaprog-pub.pem .PyCharm2018.1 .pyenv .pylint.d .python_history .qemu-launcher .qflash .qmmp .qmplay2 .quakespasm .ratarmount .remmina .repoconfig .reportbugrc .reportbugrc~ .retroshare .rnd .ropeproject .rsyncignore .rubberband.wisdom.d .rustup .rvm .sac_demo2.tex.swp .sane .schism .sc_history .Scilab .screenleap .screenlets .scvim .selected_editor .sendxmpprc .sheepshaver_prefs .shlang.swp .shutter .skippyrc .Skype .smb .solfege .solfegerc .sonic-pi .sounds .sqldeveloper .sqlite_history .sqlmap .ssh .ssr .subversion .sundog_files_preview .sunvox_clipboard.sunpat .sunvox_clipboard.sunpats .sunvox_clipboard.sunsynth .sunvox_files_preview .sunvox_opensample .sunvox_pateditor .sunvox_prev_session.sunvox .sunvox_song_l .sunvox_song_s .sunvox_song_w .sunvox_soundnet .sunvox_synth_l .sunvox_synth_s .sunvox_timeline .sweep .swt .synfig .tabun.defender.data .taglog .task .taskrc .tasks.swo .tdm .telegram_backup .telegram-cli .TelegramDesktop .temp .texlive2016 .texlive2018 .texlive2019 .texmf-var .tgdb .themes .thumbnails .thunderbird .ti-sheet .tixati .tkabber .tkdesk .tomatoes .tomighty .tooling .toprc .Trash .treeline-1.4 .treeline-3.0 .trello-cli .Tribler .tt-sheet.json .tupi .tuxcmd .tuxpaint .uim.d .ukrchess .uml .ure .urxvt .v8flags.4.5.103.35.bodqhrohro.json .v8flags.4.6.85.31.bodqhrohro.json .v8flags.4.6.85.32.bodqhrohro.json .v8flags.5.8.283.41.eaac8383df668fc6ad3df21006020348.json .v8flags.6.2.414.66.eaac8383df668fc6ad3df21006020348.json .v8flags.6.8.275.32-node.12.bodqhrohro.json .v8flags.6.8.275.32-node.12.eaac8383df668fc6ad3df21006020348.json .vacuum .var .vegas .velox.conf .velox.conf.bak .vfu .ViberPC .vifm .vim .viminfo .viminfo.tmp .viminfs.tmp .viminft.tmp .viminfu.tmp .viminfv.tmp .viminfw.tmp .viminfx.tmp .viminfy.tmp .viminfz.tmp .vimperator .vimrc .virt-manager .VirtualBox .virtualenvs .vplayer_f .vscode-oss .vue-templates .w3m .Wammu .wavesurfer .weechat .wegorc .wget-hsts .whyteboard .wicd .widelands .wine .winff .wireshark .wordcorr .workrave .wvdial.conf .Xauthority .xbindkeysrc .xbmc .xdrawchem .xdrawchemrc .xine .xinitrc.slim .xinputrc .xmlcopyeditor .Xmodmap .xnviewmp .xournal .xpaint .xscreensaver .xsession-errors .xsession-errors.old .xsettingsd .xtimidity .xvkbd .yandex .yarn .yarnrc .yowsup .ywtracker .zcompdump .zinc .zlogin .zoom .zshrc .zshrc.zni .zynaddsubfx-bank-cache.xml .zynaddsubfxXML.cfg 

За 8 лет накопилось.

mertvoprog
( 04.10.21 22:15:55 MSK )
Ответ на: комментарий от mertvoprog 04.10.21 22:15:55 MSK

Вот уж реально, срач так срач….

Могу заметить 2 вещи: Во первых они все скрытые, здесь нет ни одного косяка со стороны именно софта.

Во вторых, .ed.2016-03-11-0250.46.gz, .ed.2016-03-13-0255.48.gz, .ed.2016-03-13-1450.36.gz, .ed.2016-03-14-0247.54.gz намекают на гору давно неиспользуемого или удалённого софта, за которым кто то считает ниже своего достоинства подчистить. Ну, нравится разводить срач — пожалуйста.

З.Ы. Также надо заметить третью вещь: такая гора софта говорит о частых экспериментах. Экспериментировать надо в экспериментальном профиле пользователя и выносить его периодически.

kirill_rrr ★★★★★
( 05.10.21 06:18:56 MSK )
Последнее исправление: kirill_rrr 05.10.21 06:24:18 MSK (всего исправлений: 1)

Ответ на: комментарий от mertvoprog 04.10.21 22:11:32 MSK

Мейнтейнеры следят, чтобы такой херни не было.

Кроме файлменеджеров, лазить в ФС никому не нужно?

Приличные никто тоже имеют такую галочку потому что она есть в тулките или её не забыли сделать в самом приложении.

тоже медленными бывают. И перегруженными.

Всё равно, десятки милисекунд. Куда хуже, если там 1000++ файлов или построение миниатюр.

Ведроидный софт хотя бы меньше гадит мимо своих data/obb.

Ага, щас. Каждый второй создаёт свою папку, нифига не скрытую, никому не нужную и ещё и не использует её и удалть тоже не даёт.

давайте вообще от атрибутов откажемся. Все таймстампы в имя, и размер тоже в имя.

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

Я брезгую только ненужным софтом, особенно когда у него есть альтернатива или его можно легко изолировать. А это сокращает список незамениммого до пальцев одной руки.

kirill_rrr ★★★★★
( 05.10.21 19:11:37 MSK )
Ответ на: комментарий от kirill_rrr 05.10.21 06:18:56 MSK

Потому что |grep ‘^\.’ же.

на гору давно неиспользуемого или удалённого софта

Чавоу? ed до сих пор стоит. Вот почему он тогда просирался без спросу, а сейчас перестал — это вопрос, да.

считает ниже своего достоинства подчистить

Мы и без этого постоянно этим занимаемся. В первую очередь охотимся за крупным, которое явно забивает раздел. Представляете, сколько труда нужно, чтобы всё эту мелюзгу по пару килобайт перебирать и вытряхивать?

Тут вопрос в другом: а схрена Мы, собственно, должны этим заниматься? Вы не находите здесь фундаментальной проблемы при разработке программ, что достаточно их лишь запустить — а они уже без спросу спаунят кучу файликов? И приходится за ними потом с васянскими чистильщиками бегать? Считанные программы умеют сами за собой что-то типовое подчищать.

И purge лезет только в /etc/ , а в хомяки не лезет, хотя следовало бы.

Экспериментировать надо в экспериментальном профиле пользователя

Ага, ещё скажите отдельную ЭВМ для этого купить.

mertvoprog
( 06.10.21 19:23:43 MSK )
Ответ на: комментарий от kirill_rrr 05.10.21 19:11:37 MSK

Что не так-то? Им приходится следить, иначе банально конфликты между файлами из разных пакетов полезут рано или поздно. Вон Epiphany, например: есть браузер, а есть игра одноимённая.

Приличные никто тоже имеют такую галочку потому что она есть в тулките или её не забыли сделать в самом приложении.

То есть кроссплатформенные ≡ неприличные, так выходит?

Так об этом и речь.

Это куда меньше, чем почти каждый первый, потому что данные-то где-то хранить надо. Винда даёт для этого реестр, ведройд даёт data-директорию и без разрешения даже не выпускает из неё. А что даёт жмупинус, кроме возможности как попало срать в хомяк?

Даже через свой труп? 😉

Я брезгую только ненужным софтом

Ненужноразм ЛОРчан не знает границ.

mertvoprog
( 06.10.21 19:30:15 MSK )
Ответ на: комментарий от mertvoprog 06.10.21 19:23:43 MSK

Это если их надо все вытащить. Но в нормальных режимах ты их всё равно не видишь.

Вот почему он тогда просирался без спросу, а сейчас перестал

Вопрос не в том почему его обновили, а в том, почему ты с 2016 года не почистил мусор. Уж 2 то раза в год можно уделить этому 20-30 минут.

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

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

В первую очередь охотимся за крупным

А вот за ними то как раз не надо охотится. Кеши давно пора вынести в tmpfs, торренты и загрузки держать в отдельных папках, а всех слонов вынести на отдельный раздел. И всё, 90% случаев внезапного засирания хомяка устранены. А ещё всякие анализаторы места вроде du неплохо умеют делать свою работу. Это конфиг от давно удалёённого софта найти сложно, а слоны сразу видны.

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

Нет, не нахожу. Софт при запуске должен куда то сохранить настройки. В идеале он должен создать свою папочку ы ~/.config/, но если это просто скрытый файлик в хомяке, то всё ещё приемлимо и это не фундаментальный косяк.

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

Ага, ещё скажите отдельную ЭВМ для этого купить.

Собственно дело в том, что сейчас не 80-е — начало 90-х, мы пользуемся не досом и у нас есть уникальная возможность не покупать ещё одну эвм, а просто создать юзера.

Dillo — Dillo

Dillo это минималистичный веб-браузер, специально предназначенный для старых или более медленных компьютеров и встроенных систем. Он поддерживает только простой HTML / XHTML (с рендерингом CSS ) и изображения через HTTP ; сценарии полностью игнорируются. Текущие версии Dillo могут работать в Linux, BSD, OS X, IRIX и Cygwin. Из-за своего небольшого размера он является предпочтительным браузером в нескольких компактных дистрибутивах Linux. Выпущенный под Стандартной общественной лицензией GNU, Dillo — это свободное программное обеспечение.

Чилийский инженер-программист Хорхе Ареллано Сид задумал проект Dillo в конце 1999 года, опубликовав первую версию Dillo в декабре того же года. Его основной целью при создании Dillo было демократизация доступа к информации. Ареллано Сид считал, что никому не нужно покупать новый компьютер или платить за широкополосную связь, чтобы пользоваться всемирной паутиной. С этой целью он разработал Dillo таким образом, чтобы он был небольшим, быстрым и эффективным, способным хорошо работать даже на ЦП Intel 80486 с коммутируемым доступом в Интернет.

  • 1 Разработка
  • 2 Возможности
  • 3 Прием
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

Разработка

Изначально Dillo был написан на языке программирования C. с помощью GTK+ инструментария GUI. Первые версии были основаны на более раннем браузере Armadillo, отсюда и название. Dillo 2, написанный с использованием компонентов C и C ++ и Fast Light Toolkit (FLTK), был выпущен 14 октября 2008 г. Текст сглаживание, поддержка Были добавлены наборы символов, кроме Latin-1, HTTP-сжатие и улучшенная отрисовка страницы. Переход на FLTK с GTK + также удалил многие зависимости проекта и сократил объем памяти , занимаемый Dillo, на 50%.

В 2011 году был выпущен Dillo-3.x с использованием FLTK-1.3. Согласно журналу изменений, это изменение было частично вызвано отсутствием официального выпуска FLTK-2, который остановил включение Dillo-2 в облегченные дистрибутивы, для которых он в противном случае был бы подходящим.

Хорхе Ареллано Сид по-прежнему является ведущим разработчиком Dillo. Dillo финансируется за счет частных пожертвований; попытки получить государственные гранты и корпоративных спонсоров оказались безуспешными. Отсутствие финансирования привело к замедлению темпов развития в 2006 году и полной остановке в 2007 году. В 2008 году проект снова был запущен, а два месяца спустя получил пожертвование в размере 115 евро от DistroWatch.

Features

Features Dillo включают закладки, просмотр с вкладками и поддержку JPEG, PNG (включая альфа-прозрачность ), и изображения в формате GIF. Частичная поддержка CSS была представлена ​​в версии 2.1. Такие параметры, как шрифты по умолчанию, цвет фона, папка загрузок и домашняя страница, можно настроить с помощью файлов конфигурации. Файлы cookie поддерживаются, но по умолчанию отключены из соображений конфиденциальности. Хотя большинство веб-браузеров сохраняют веб-кеш и историю после закрытия программы, Dillo автоматически очищает их, чтобы улучшить как конфиденциальность, так и производительность.

Счетчик ошибок Dillo сообщает об ошибках, обнаруженных Dillo на просматриваемой веб-странице

Инструмент разработчика, называемый «счетчик ошибок», находится в правом нижнем углу. При нажатии отображается информация о проблемах проверки, таких как незакрытые теги , которые Dillo обнаружил на веб-странице. В отличие от большинства браузеров, Dillo не имеет режима quirks для улучшения совместимости с веб-страницами, использующими недопустимый HTML. Вместо этого Dillo обрабатывает все веб-страницы в соответствии с опубликованными веб-стандартами.

. В 2003 году два энтузиаста Linux успешно запустили Dillo на процессоре Intel 486 и продемонстрировали, что даже с таким скудным оборудованием Dillo может отобразить http://news.bbc.co.uk/ за 10–15 секунд. Кроме того, Dillo может работать на различных программных платформах, включая Linux, BSD, Solaris, Mac OS X, DOS и некоторые портативные устройства. Однако разработчики Dillo приложили мало усилий, чтобы браузер работал на Microsoft Windows. Ареллано Сид заявил, что Windows идет вразрез с целью Dillo по демократизации, искусственно увеличивая требования к оборудованию и стоимости программного обеспечения. Тем не менее, как сообщается, Dillo работает в Windows через Cygwin. Кроме того, Dillo-Win32 был проектом по переносу Dillo на Windows, который сейчас не существует. Браузер D + или Dplus продолжается с того места, где остановился Dillo-Win32, он является ответвлением последнего выпуска Dillo-Win32 (3.0p9) и не пытается поддерживать совместимость с Dillo в восходящем направлении. Последняя версия — 0.5b (15 октября 2013 г.).

Dillo не поддерживает JavaScript, Java, Flash, текст с письмом справа налево или сложный текстовый макет. Поддержка кадров также очень ограничена; Dillo предоставляет ссылку на каждый кадр, чтобы пользователь мог просматривать их по одному. Плагин для добавления поддержки HTTPS также находится в стадии разработки.

Reception

Обзоры Dillo хвалят его исключительную скорость, но отмечают, что эта скорость имеет свою цену. Самая заметная цена — это неспособность Dillo отображать сложные веб-страницы в том виде, в каком они должны быть. В обзоре 2008 г., проведенном Linux.com, отмечалось, что пользовательский интерфейс Dillo может «пугать» новых пользователей, и указывалось на нехватку плагинов для Dillo. В целом, доля использования Dillo в мире составляет менее одной сотой процента.

Dillo, тем не менее, является предпочтительным браузером в нескольких компактных дистрибутивах Linux, таких как Damn Small Linux, Feather Linux, VectorLinux, antiX и Mustang Linux.

См. Также

  • Free and open- портал исходного программного обеспечения
  • Сравнение легких веб-браузеров
  • Сравнение веб-браузеров
  • Список веб-браузеров
  • Список веб-браузеров для Unix и Unix-подобных операционных систем

Ссылки

Внешние ссылки

Викискладе есть медиафайлы, связанные с Dillo .
  • Официальный сайт
  • «Dillo». Freecode.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *