Board.KolibriOS.org

Official KolibriOS board
It is currently Sun May 31, 2020 7:18 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 129 posts ]  Go to page Previous 1 2 3 4 59 Next
Author Message
PostPosted: Sun Apr 01, 2018 1:57 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 247
0CodErr wrote:
Можно сравнить как сделано в KlbrInWin.

Во первых, у меня нет исходников KlbrInWin, а во-вторых, знать бы что сравнивать...


Top
   
PostPosted: Sun Apr 01, 2018 3:55 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
JohnXenox
Все дело в регистрозависимости файловых систем в линупсе.
/sys/settings/ не находит, т.к. у тебя /sys/SETTINGS/

Попробуй последнюю сборку.

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Sun Apr 01, 2018 7:30 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 196
tsdima wrote:
Да, забыл сказать, есть такая проблема. Однако если не копировать файлы из образа, а прямо смонтировать его в ~/.kex/root/RD/1, то этой проблемы не заметно (я кстати не знал, что если смонтировать образ c FAT, то обращение к файлам станет регистронезависимым).
Спасибо, тоже не знал.
tsdima wrote:
Я открываю образы "Disk Image Mounter"-ом, они монтируются в /media, а в каталоге ~/.kex/root/RD/ я сделал линк на каталог в /media (1 -> /media/user/KOLIBRI). Образы монтируются только для чтения, но это вроде не проблема, можно создать каталог /RD/2 и там файлы сохранять.
Тоже пользуюсь этой программой. Ей можно и на запись монтировать. Я себе уже сделал.
tsdima wrote:
Проблема с иконками и game center скорее всего тоже из-за чувствительности к регистру.
Да, так и есть.
tsdima wrote:
На данный момент короткие имена приводятся к верхнему регистру, а длинные, типа RasterWorks.obj оставляю как есть. Но по-хорошему, надо бы считывать каталог и искать имя без учёта регистра и потом использовать то, что найдено. Только мне кажется, это будет замедлять работу.
Да, возможно.
tsdima wrote:
С fNav да, какая-то непонятная хрень, вроде бы используются только реализованные функции, и вроде бы я их полностью реализовал. Но не работает. Жаль исходников fNav нет.
Не работают программы, которые используют fs: (в основном Си-шные) и gs: (три игрушки от codemaster-а). Пока не знаю, решаемо ли. Использовать rdfsbase/wrfsbase можно, но что будет на практике - пока не знаю.
Ясно.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Sun Apr 01, 2018 7:35 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 196
tsdima wrote:
По поводу растягивания окон, хотелось бы узнать версию Линукса и тип оконного менеджера.
Linux Mint 18.2 Sonya XFCE + Compton

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Sun Apr 01, 2018 9:18 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 196
Leency wrote:
JohnXenox
Все дело в регистрозависимости файловых систем в линупсе.
/sys/settings/ не находит, т.к. у тебя /sys/SETTINGS/

Попробуй последнюю сборку.
Попробовал. По совету tsdima, создал ссылку. Со ссылкой работает правильно. Без ссылки всё также.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Sun Apr 01, 2018 9:37 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 247
Leency wrote:
Попробуй последнюю сборку.

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


Top
   
PostPosted: Sun Apr 01, 2018 9:49 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 196
Для удобства работы с эмулятором, набросал небольшой скрипт.
Скрипт сначала проверяет, есть ли в папке образ kolibri.img, если нет, то скачивает по сети, а затем монтирует образ, и создаёт ссылку, если её нет, на смонтированный образ.
Образ монтируется с правами на запись.

Вот скрипт, mount.sh:
Spoiler: Show
Code:
#!/bin/bash

# =============================================================================== #
# Description:                                                                    #
# mount.sh - bash script, that downloads the kolibri.img, mounts it and creates   #
#            a link to the mounted image.                                         #
# Usage:                                                                          #
# ./mount.sh - to mount the image.                                                #
# =============================================================================== #
# ----------------------------------------------                                  #
# Bash script mount.sh was written by JohnXenox.                                  #
# ----------------------------------------------                                  #
# GNU GPLv2.                                                                      #
# =============================================================================== #

## definition of a package manager.
if which apt-get &> /dev/null; then
  echo 'Package manager is apt-get!'
  install_the_package='apt-get -y install'
elif which pacman &> /dev/null; then
  echo 'Package manager is pacman!'
  install_the_package='pacman -S --noconfirm'
elif which yum &> /dev/null; then
  echo 'Package manager is yum!'
  install_the_package='yum -y install'
elif which zypper &> /dev/null; then
  echo 'Package manager is zypper!'
  install_the_package='zypper -n install -y -l'
elif which emerge &> /dev/null; then
  echo 'Package manager is emerge!'
  install_the_package='emerge'
else
  echo "I can't find your package manager!"
  exit 1
fi


## installing the archiver.
function install_the_archiver {
  if ! which 7z &> /dev/null; then
    echo -n 'Installing the archiver: '
    install_the_package p7zip-full &> /dev/null
    if test $? -eq 0; then
      echo -e 'successfully!'
    else
      echo -e 'unsuccessfully!'
      exit 1
    fi
  fi
}


### installing the gnome-disk-image-mounter.
function install_the_mounter {
  if ! which gnome-disk-image-mounter &> /dev/null; then
    echo -n 'Installing the gnome-disk-image-mounter: '
    install_the_package gnome-disk-utility &> /dev/null
    if test $? -eq 0; then
      echo -e 'successfully!'
    else
      echo -e 'unsuccessfully!'
      exit 1
    fi
  fi
}


## installing the wget.
function install_the_wget {
  if ! which wget &> /dev/null; then
    echo -n 'Installing the wget: '
    install_the_package wget &> /dev/null
    if test $? -eq 0; then
      echo -e 'successfully!'
    else
      echo -e 'unsuccessfully!'
      exit 1
    fi
  fi
}


## installing the image.
function install_the_image {
    echo -n 'Downloading the image: '
    wget http://builds.kolibrios.org/eng/latest-img.7z &> /dev/null && 7z x latest-img.7z &> /dev/null && rm latest-img.7z &> /dev/null
    if test $? -eq 0; then
      echo -e 'successfully!'
    else
      echo -e 'unsuccessfully!'
      exit 1
    fi
}


## installing the kolibri.img.
if ! test -e kolibri.img &> /dev/null; then
  sudo apt-get &> /dev/null
  echo -n 'Checking the internet connection: '
  if ping -c 1 8.8.8.8 &> /dev/null; then
    echo -e 'established!'
    install_the_archiver
    install_the_mounter
    install_the_wget
    install_the_image
  else
    echo -e 'not established!'
    exit 1
  fi
fi


## mounting the image.
export NO_AT_BRIDGE=1 # disables dbus is accessibility feature.
echo -n 'Mounting the image: '
gnome-disk-image-mounter --writable kolibri.img
export NO_AT_BRIDGE=0 # enables dbus is accessibility feature.
if test $? -eq 0; then
  echo -e 'successfully!'
else
  echo -e 'unsuccessfully!'
  exit 1
fi


## removing the derictory, if it present.
#if test -d ~/.kex/root/RD/1; then
#  rm -r ~/.kex/root/RD/1
#fi


## creating a link.
if ! test -L ~/.kex/root/RD/1; then
  echo -n 'Creating a link: '
  ln -s /media/${USER}/KOLIBRI/ ~/.kex/root/RD/1
  if test $? -eq 0; then
    echo -e 'successfully!'
  else
    echo -e 'unsuccessfully!'
    exit 1
  fi 
fi

exit
mount.sh надо бросить в папку .kex.
Выставить права на исполнение:
Code:
chmod u+x mount.sh
Запускать можно двойным кликом по скрипту, либо введя в терминал ./mount.sh.

_________________
The Glass is Always Half Full! :mrgreen:


Last edited by JohnXenox on Sun Apr 15, 2018 3:38 am, edited 1 time in total.

Top
   
PostPosted: Mon Apr 02, 2018 1:19 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
tsdima
Да, но иногда файлы Колибри лежат на линукс разделах.

Есть такой баг в @open http://bugs.kolibri-n.org/?id=11
Он ждет своего ассемблерщика-линуксоида.

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Mon Apr 02, 2018 1:57 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
Есть такой баг в @open http://bugs.kolibri-n.org/?id=11
О регистрозависимости нужно договариваться на уровне системы.
Сейчас программы работают с файловой системой как с регистроНЕзависимой.
Потому что в FAT это так. И до относительно недавнего времени EXT вообще толком не поддерживался.


Top
   
PostPosted: Mon Apr 02, 2018 2:59 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 247
Сделал в эмуляторе регистронезависимый поиск.

По поводу XFCE: JohnXenox, а если закомментировать в k_gui.c вызов SetNoBorder, то окна нормально растягиваются? Будет, конечно, лишний линуксовый заголовок, но мне интересно, от этого ли проблема.


Top
   
PostPosted: Mon Apr 02, 2018 5:06 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5276
> И до относительно недавнего времени EXT вообще толком не поддерживался.
Уже 100 лет как поддерживается, это запись недавно сделали, и то это было года 3 наверное назад.

Баг с @open есть баг. Пользователю пофиг о чем мы там договорились или нет, когда он в файловом менеджере не может открыть файл у него бомбит.

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Mon Apr 02, 2018 5:16 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 196
tsdima wrote:
Сделал в эмуляторе регистронезависимый поиск.

По поводу XFCE: JohnXenox, а если закомментировать в k_gui.c вызов SetNoBorder, то окна нормально растягиваются? Будет, конечно, лишний линуксовый заголовок, но мне интересно, от этого ли проблема.
Скачал, закомментировал и скомпилировал свежий пакет.
Окна растягиваются и максимизируются только при взаимодействии с частями родной темы Linux (заголовок, боковые части).
При взаимодействии со скином Колибри, всё также, максимизация и растягивание не работает. При двойном клике по заголовку скина Колибри, окно опускается немного вниз, после чего, стрелка мыши оказывается на заголовке Linux.

Также заметил, что в окнах, где есть сколлбар, скроллинг колёсиком не работает. Или работает неправильно.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Mon Apr 02, 2018 5:40 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
Баг с @open есть баг. Пользователю пофиг о чем мы там договорились или нет, когда он в файловом менеджере не может открыть файл у него бомбит.
Вот я и говорю
0CodErr wrote:
О регистрозависимости нужно договариваться на уровне системы.
Откуда твой @open может знать про CaseSensitive файловой системы раздела, с которым он работает?
Подумай для начала, как будут(и как должны) вести себя SysFn70.2 и SysFn70.3 в случае применения к файлам "MyFile" и "myfile", если искомый файл существует и если он не существует.


Top
   
PostPosted: Mon Apr 02, 2018 6:00 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 247
JohnXenox wrote:
Окна растягиваются и максимизируются только при взаимодействии с частями родной темы Linux

Ясно, будем копать хинты для XFCE. Хотя надежды мало.

JohnXenox wrote:
При взаимодействии со скином Колибри, всё также, максимизация и растягивание не работает.

Я надеялся, что за изменение размера будет отвечать Linux. Не хотелось бы для разных оконных менеджеров свои костыли ставить.
А про двойной клик на заголовке - это я просмотрел, надо будет сделать максимизацию.

JohnXenox wrote:
Также заметил, что в окнах, где есть сколлбар, скроллинг колёсиком не работает. Или работает неправильно.

Не работает, не сделано :)


Top
   
PostPosted: Mon Apr 02, 2018 9:50 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 247
Нашёл, что не устраивало fNav. Где-то в дебрях то-ли самого fNav, то-ли libimg, используется 68.20 (heap realloc), однако возвращаемый адрес игнорируется, полагаясь на то, что он не изменится. Понятно, что если размер блока уменьшился, то адрес может остаться тот-же. Но в описании этой функции не говорится, что адрес обязан остаться неизменным, если размер уменьшился. Даже если текущая реализация ядра и делает так.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 129 posts ]  Go to page Previous 1 2 3 4 59 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited