Icon - менеджер иконок рабочего стола
-
Я конечно понимаю, что полностью копировать другие оси нельзя и фраза "Так в других крупных системах" меня немного ... эм.. взбесила. Но в данном случае Mario и Leency правы - делать пустые иконки - бред. Если так уж кому то нужно, то можно сделать поле в ini и чекбокс в окошке "Скрыть имя"
Однако автору почему то такое не пришло в голову с самого начала.0CodErr wrote:всё элементарно же
Вместо этого "хотеть пустые идентификаторы, говно этот ваш libini, буду мстит, УПИФАТ всех мерзких людев".
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Хотите смейтесь, хотите нет, но использовать ИД как имя секции, а имя иконки - лишь ключ, я хотел первоначально, но потом прикинул, что мне придётся думать над тем, как создавать уникальное имя секции для создания иконки и решил, что имя - как заголовок секции и больше не парится над этим вопросом. Сейчас же я заметил ещё один баг - если создать одинаковые имена у двух иконок, то после перезапуска останется только одна иконка. И первоначальная идея приобрела новый смысл. Так что так и сделаю. Останется придумать как придумывать уникальные имена иконкам, но это уже моя проблема и не такая уж проблемаMario_r4 wrote:Однако автору почему то такое не пришло в голову с самого начала.0CodErr wrote:всё элементарно же
Вместо этого "хотеть пустые идентификаторы, говно этот ваш libini, буду мстит, УПИФАТ всех мерзких людев".
PS: и пустые имена будут и две иконки с одинаковым именем будут, незачем обижать юзеров виндовыми ограничениями. Вин7 видите ли, хех
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
GerdtR wrote:Останется придумать как придумывать уникальные имена иконкам, но это уже моя проблема и не такая уж проблема
Spoiler:
Code: Select all
;-----------------------------------------------------------------------------+
; Функция генерации случайного числа в диапозоне 0..99999 |
;-----------------------------------------------------------------------------+
; На выходе : eax - случайное число |
;-----------------------------------------------------------------------------+
_random:
push edx ecx ebx
mov eax,ebx
or eax,eax
jnz @f
rdtsc
xor eax,edx
mov ebx,eax
@@:
xor edx,edx
mov ecx,127773
div ecx
mov ecx,eax
mov eax,16807
mul edx
mov edx,ecx
mov ecx,eax
mov eax,2836
mul edx
sub ecx,eax
xor edx,edx
mov eax,ecx
mov ebx,ecx
mov ecx,100000
div ecx
mov eax,edx
pop ebx ecx edx
ret
;->
;-----------------------------------------------------------------------------+
; Функция генерации случайного числа в диапозоне [min...max] |
;-----------------------------------------------------------------------------+
; На входе : edi - указатель на [max] значение |
; На входе : edi - указатель на [min] значение |
; На выходе : eax - случайное число |
;-----------------------------------------------------------------------------+
_randomrange:
push esi edi edx ecx
mov ecx,edi
sub ecx,esi
inc ecx
call _random
xor edx,edx
div ecx
mov eax,edx
add eax,esi
pop ecx edx edi esi
ret
;->
Если мы сохраняем все элементы от первого до последнего, то уникальное имя может быть просто номером этого элемента, и этот номер может измениться после сохранения(например, был id1, а стал id15), но в этом ничего страшного нет — главное, что он уникальный для каждого элемента.GerdtR wrote:Останется придумать как придумывать уникальные имена
Тогда нужно при сохранении в ini либо переписывать весь файл(ну точнее удалить все секции с иконками и создать заново), либо научить libini переименовывать секции. Хотя думаю просто добавить функцию, которая будет сообщать, есть такое имя секции, либо нет. И тогда: генератор + есть ли такое имя секции -> если есть, то всё ок, иначе в начало цикла.
PS: Akyltist, спасибо за ГСЧ.
PS: Akyltist, спасибо за ГСЧ.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
После одной из перезагрузок с сохранением образа некоторые иконки сместились, хотя до этого были на дефолтных местах.
Spoiler:
Вызываем меню правой кнопкой мыши.
Теперь, не закрывая меню, нажимаем левой кнопкой на иконку:Такое происходит с разными иконками.
Теперь, не закрывая меню, нажимаем левой кнопкой на иконку:
Spoiler:
Не подтверждаю, повторить не удалось
Выкладываю пробную версию(ещё не рискую в svn кидать - толком не тестил). Теперь имя секции - уникальное шестнадцетиричное число от 00 до FF (именно большие буквы и именно 2 символа). Буферы в icon расчитаны максимум под 100 иконок, потому запаса в 256 вариаций хватает. В архиве новый @icon и icon.ini . Вот. Проверяйте старые баги, ищите новые...
- Attachments
-
-
icon.zip (5.93 KiB)Downloaded 342 times
-
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Ещё поправил немного код, вроде багов не добавил, но баг, который нашёл 0CodErr с ... опять с маранием иконок, только по другому, остался. DmitrySokolowsky, этот баг в виртуальной машине видно, если точнее, то там, где скорость отрисовки очень медленная.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Новые баги:
1) Начиная с ревизии 4336 иконки не отрисовываются совсем. По крайней мере в Qemu.
2) Ревизия 4335, если прописать параметр к иконке (например, для BOARD прописать параметром путь /hd0/1/boardlog12345.txt), а потом сохранить образ при помощи RDSAVE (например, на /fd0/1), то после перезагрузки иконка с параметром не отрисуется.
1) Начиная с ревизии 4336 иконки не отрисовываются совсем. По крайней мере в Qemu.
2) Ревизия 4335, если прописать параметр к иконке (например, для BOARD прописать параметром путь /hd0/1/boardlog12345.txt), а потом сохранить образ при помощи RDSAVE (например, на /fd0/1), то после перезагрузки иконка с параметром не отрисуется.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
1) А icon хоть запускается? Надо в VirtuelBox попробовать, в реальной работает.
2) Это с каждой иконкой или только с некоторыми? И скиньте icon.ini, когда иконка уже пропала.
2) Это с каждой иконкой или только с некоторыми? И скиньте icon.ini, когда иконка уже пропала.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Mario_r4, эмм... icon.ini изменился с последней правкой. Вы не забыли его заменить на новый?
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
В VirtuelBox иконки тоже не рисуются. Оба процесса в CPU присутствуют, менюшка ПКМ работает.GerdtR wrote:1) А icon хоть запускается? Надо в VirtuelBox попробовать, в реальной работает.
С любой.GerdtR wrote:2) Это с каждой иконкой или только с некоторыми? И скиньте icon.ini, когда иконка уже пропала.
Я просто взял сборку ревизии 4336. Ничего в ней не менял.GerdtR wrote:Mario_r4, эмм... icon.ini изменился с последней правкой. Вы не забыли его заменить на новый?
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Who is online
Users browsing this forum: No registered users and 2 guests