Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eric Duminil
casanova-online
Commits
d097e2c8
Commit
d097e2c8
authored
May 12, 2026
by
Eric Duminil
Browse files
Trying insel compose
parent
9ab56cc9
Changes
10
Hide whitespace changes
Inline
Side-by-side
Dockerfile
View file @
d097e2c8
FROM
jlesage/baseimage-gui:ubuntu-22.04-v4
FROM
inseleu/web-insel
RUN
dpkg
--add-architecture
i386
\
################################################################################
&&
apt-get update
\
# Install third party apps, and dark theme #
&&
apt-get
install
-y
--no-install-recommends
\
################################################################################
wine
\
RUN
apt-get update
&&
\
wine32
\
apt-get
install
tzdata make
\
wine64
\
pluma qalculate-gtk
\
libwine
\
pcmanfm gtk2-engines-pixbuf adwaita-qt
\
libwine:i386
\
--no-install-recommends
-y
&&
\
fonts-wine
\
rm
-rf
/var/lib/apt/lists/
*
&&
\
&&
apt-get clean
\
apt-get clean
&&
rm
-rf
/var/lib/apt/lists/
*
ENV
APP_NAME="CASAnova"
# In order to avoid having to define preferences:
ENV
GDK_SCALE=2
RUN
ln
-s
/usr/bin/pluma /usr/local/bin/gedit
ENV
WINEPREFIX=/config/wine
RUN
ln
-s
/usr/bin/qalculate-gtk /usr/local/bin/gnome-calculator
COPY
startapp.sh /startapp.sh
################################################################################
RUN
chmod
+x /startapp.sh
# Debug with xterm if needed #
################################################################################
RUN
apt-get update
&&
\
apt-get
install
xterm
--no-install-recommends
-y
&&
\
rm
-rf
/var/lib/apt/lists/
*
&&
\
apt-get clean
################################################################################
# WINE #
################################################################################
RUN
apt-get update
&&
\
apt-get
install
wine
--no-install-recommends
-y
&&
\
rm
-rf
/var/lib/apt/lists/
*
&&
\
apt-get clean
################################################################################
# Anaconda & Spyder #
################################################################################
# RUN apt-get update && \
# apt-get install curl libpci3 libasound2 \
# --no-install-recommends -y && \
# rm -rf /var/lib/apt/lists/* && \
# curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o /tmp/miniconda.sh -k && \
# /bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
# rm /tmp/miniconda.sh && \
# apt-get remove curl -y && \
# apt-get clean
#
# ENV PATH /opt/conda/bin:$PATH
#
# RUN pip install insel
# RUN CONDA_PLUGINS_AUTO_ACCEPT_TOS=true conda install spyder matplotlib
COPY
rootfs/ /
# It's a lie. Sun will launch Spyder
# RUN ln /opt/conda/bin/spyder /usr/local/bin/wine
docker-compose.yml
View file @
d097e2c8
...
@@ -12,4 +12,5 @@ services:
...
@@ -12,4 +12,5 @@ services:
-
TZ=Europe/Paris
-
TZ=Europe/Paris
security_opt
:
security_opt
:
-
seccomp:unconfined
-
seccomp:unconfined
-
apparmor:unconfined
restart
:
unless-stopped
restart
:
unless-stopped
rootfs/etc/openbox/main-window-selection.xml
0 → 100644
View file @
d097e2c8
<Type>
normal
</Type>
<GroupClass>
Pcmanfm
</GroupClass>
CASAnova_Setup.exe
→
rootfs/opt/
CASAnova_Setup.exe
View file @
d097e2c8
File moved
rootfs/opt/base/etc/openbox/rc.xml.template
0 → 100644
View file @
d097e2c8
<?xml version="1.0" encoding="UTF-8"?>
<openbox_config
xmlns=
"http://openbox.org/3.4/rc"
xmlns:xi=
"http://www.w3.org/2001/XInclude"
>
<resistance>
<strength>
10
</strength>
<screen_edge_strength>
20
</screen_edge_strength>
</resistance>
<focus>
<focusNew>
yes
</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>
no
</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>
yes
</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>
no
</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>
200
</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>
no
</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>
Smart
</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>
yes
</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
<monitor>
Primary
</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>
1
</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or
'Active' - where the active window is -->
</placement>
<theme>
<name>
OpenboxTheme
</name>
<titleLayout>
LMC
</titleLayout>
<!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>
yes
</keepBorder>
<animateIconify>
yes
</animateIconify>
<font
place=
"ActiveWindow"
>
<name>
sans
</name>
<size>
8
</size>
<!-- font size in points -->
<weight>
bold
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
<font
place=
"InactiveWindow"
>
<name>
sans
</name>
<size>
8
</size>
<!-- font size in points -->
<weight>
bold
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
<font
place=
"MenuHeader"
>
<name>
sans
</name>
<size>
9
</size>
<!-- font size in points -->
<weight>
normal
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
<font
place=
"MenuItem"
>
<name>
sans
</name>
<size>
9
</size>
<!-- font size in points -->
<weight>
normal
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
<font
place=
"ActiveOnScreenDisplay"
>
<name>
sans
</name>
<size>
9
</size>
<!-- font size in points -->
<weight>
bold
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
<font
place=
"InactiveOnScreenDisplay"
>
<name>
sans
</name>
<size>
9
</size>
<!-- font size in points -->
<weight>
bold
</weight>
<!-- 'bold' or 'normal' -->
<slant>
normal
</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session
these are default values to use when other ones are not already set
by other applications, or saved in your session
use obconf if you want to change these without having to log out
and back in -->
<number>
1
</number>
<firstdesk>
1
</firstdesk>
<names>
<!-- set names up here if you want to, like this:
<name>desktop 1</name>
<name>desktop 2</name>
-->
</names>
<popupTime>
875
</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>
yes
</drawContents>
<popupShow>
Nonpixel
</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>
Center
</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>
10
</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>
10
</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>
0
</top>
<bottom>
0
</bottom>
<left>
0
</left>
<right>
0
</right>
</margins>
<dock>
<position>
TopLeft
</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>
0
</floatingX>
<floatingY>
0
</floatingY>
<noStrut>
no
</noStrut>
<stacking>
Above
</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>
Vertical
</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>
no
</autoHide>
<hideDelay>
300
</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>
300
</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>
Middle
</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<mouse>
<dragThreshold>
1
</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>
500
</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>
400
</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>
false
</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context
name=
"Frame"
>
<mousebind
button=
"A-Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
<mousebind
button=
"A-Left"
action=
"Click"
>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"A-Left"
action=
"Drag"
>
<action
name=
"Move"
/>
</mousebind>
<mousebind
button=
"A-Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"A-Right"
action=
"Drag"
>
<action
name=
"Resize"
/>
</mousebind>
<mousebind
button=
"A-Middle"
action=
"Press"
>
<action
name=
"Lower"
/>
<action
name=
"FocusToBottom"
/>
<action
name=
"Unfocus"
/>
</mousebind>
</context>
<context
name=
"Titlebar"
>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Move"
/>
</mousebind>
<mousebind
button=
"Left"
action=
"DoubleClick"
>
<action
name=
"ToggleMaximize"
/>
</mousebind>
<mousebind
button=
"Up"
action=
"Click"
>
<action
name=
"if"
>
<shaded>
no
</shaded>
<then>
<action
name=
"Shade"
/>
<action
name=
"FocusToBottom"
/>
<action
name=
"Unfocus"
/>
<action
name=
"Lower"
/>
</then>
</action>
</mousebind>
<mousebind
button=
"Down"
action=
"Click"
>
<action
name=
"if"
>
<shaded>
yes
</shaded>
<then>
<action
name=
"Unshade"
/>
<action
name=
"Raise"
/>
</then>
</action>
</mousebind>
</context>
<context
name=
"Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Middle"
action=
"Press"
>
<action
name=
"Lower"
/>
<action
name=
"FocusToBottom"
/>
<action
name=
"Unfocus"
/>
</mousebind>
<mousebind
button=
"Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
</context>
<context
name=
"Top"
>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Resize"
><edge>
top
</edge></action>
</mousebind>
</context>
<context
name=
"Left"
>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Resize"
><edge>
left
</edge></action>
</mousebind>
</context>
<context
name=
"Right"
>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Resize"
><edge>
right
</edge></action>
</mousebind>
</context>
<context
name=
"Bottom"
>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Resize"
><edge>
bottom
</edge></action>
</mousebind>
<mousebind
button=
"Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
</context>
<context
name=
"TRCorner BRCorner TLCorner BLCorner"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Left"
action=
"Drag"
>
<action
name=
"Resize"
/>
</mousebind>
</context>
<context
name=
"Client"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
<mousebind
button=
"Middle"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
<mousebind
button=
"Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
</context>
<context
name=
"Icon"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
</context>
<context
name=
"Shade"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
</mousebind>
<mousebind
button=
"Left"
action=
"Click"
>
<action
name=
"ToggleShade"
/>
</mousebind>
</context>
<context
name=
"Iconify"
>
<!-- Minimize button is not shown. -->
</context>
<context
name=
"Maximize"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Middle"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Right"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Left"
action=
"Click"
>
<action
name=
"ToggleMaximize"
/>
</mousebind>
<mousebind
button=
"Middle"
action=
"Click"
>
<action
name=
"ToggleMaximize"
><direction>
vertical
</direction></action>
</mousebind>
<mousebind
button=
"Right"
action=
"Click"
>
<action
name=
"ToggleMaximize"
><direction>
horizontal
</direction></action>
</mousebind>
</context>
<context
name=
"Close"
>
<mousebind
button=
"Left"
action=
"Press"
>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</mousebind>
<mousebind
button=
"Left"
action=
"Click"
>
<action
name=
"Close"
/>
</mousebind>
</context>
<context
name=
"Root"
>
<!-- Nothing to do. -->
</context>
</mouse>
<menu>
<!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless -->
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
<file>
/opt/base/etc/openbox/menu.xml
</file>
<hideDelay>
200
</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again -->
<middle>
no
</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>
100
</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>
400
</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>
no
</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>
yes
</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
<applications>
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
# you may use one or more of the name/class/role/title/type rules to specify
# windows to match
<application name="the window's _OB_APP_NAME property (see obxprop)"
class="the window's _OB_APP_CLASS property (see obxprop)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
role="the window's _OB_APP_ROLE property (see obxprop)"
title="the window's _OB_APP_TITLE property (see obxprop)"
type="the window's _OB_APP_TYPE property (see obxprob)..
(if unspecified, then it is 'dialog' for child windows)">
# you may set only one of name/class/role/title/type, or you may use more
# than one together to restrict your matches.
# the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
# or desktop
# when multiple rules match a window, they will all be applied, in the
# order that they appear in this list
# each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# enable or disable window decorations
<shade>no</shade>
# make the window shaded when it appears, or not
<position force="no">
# the position is only used if both an x and y coordinate are provided
# (and not set to 'default')
# when force is "yes", then the window will be placed here even if it
# says you want it placed elsewhere. this is to override buggy
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
# the right edge (or bottom). use 'default' to specify using value
# provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
# 1 is the first head, or 'mouse' for wherever the mouse is
</position>
<size>
# the size to make the window.
<width>20</width>
# a number like 20, or 'default' to use the size given by the application.
# you can use fractions such as 1/2 or percentages such as 75% in which
# case the value is relative to the size of the monitor that the window
# appears on.
<height>30%</height>
</size>
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to
<desktop>1</desktop>
# 1 is the first desktop, 'all' for all desktops
<layer>normal</layer>
# 'above', 'normal', or 'below'
<iconic>no</iconic>
# make the window iconified when it appears, or not
<skip_pager>no</skip_pager>
# asks to not be shown in pagers
<skip_taskbar>no</skip_taskbar>
# asks to not be shown in taskbars. window cycling actions will also
# skip past such windows
<fullscreen>yes</fullscreen>
# make the window in fullscreen mode when it appears
<maximized>true</maximized>
# 'Horizontal', 'Vertical' or boolean (yes/no)
</application>
# end of the example
-->
<!-- Main window should be maximized and without decoration. -->
<application
%MAIN_APP_WINDOW_MATCH_CRITERIAS%
>
<decor>
no
</decor>
<maximized>
true
</maximized>
<layer>
below
</layer>
</application>
<!-- Make sure YAD is not affected. -->
<application
type=
"normal"
class=
"Yad"
>
<decor>
yes
</decor>
<maximized>
false
</maximized>
<layer>
above
</layer>
</application>
</applications>
<keyboard>
<keybind
key=
"F4"
>
<action
name=
"Close"
/>
</keybind>
<keybind
key=
"Tab"
>
<action
name=
"NextWindow"
>
<dialog>
icons
</dialog>
<interactive>
whatever
</interactive>
<linear>
yes
</linear>
<finalactions>
<action
name=
"Focus"
/>
<action
name=
"Raise"
/>
<action
name=
"Unshade"
/>
</finalactions>
</action>
</keybind>
<keybind
key=
"F6"
>
<action
name=
"ShowMenu"
><menu>
client-menu
</menu></action>
</keybind>
</keyboard>
</openbox_config>
rootfs/startapp.sh
0 → 100755
View file @
d097e2c8
#! /bin/sh
set
-e
# Stop script if any command fails
set
-u
# Complains if a variable is undefined
########################
# Parameters #
########################
export
HOME
=
/config
cd
$HOME
# NOTE: Home Required for Java preferences. Set by startup script to /dev/null otherwise
# NOTE: https://askubuntu.com/a/957184/743264 to avoid "GLX version 1.3 or higher is required""
export
_JAVA_OPTIONS
=
"-Duser.home=
$HOME
-Dprism.order=sw"
########################
# Config files #
########################
if
[
!
-f
/config/.gtk-bookmarks
]
;
then
echo
"Adding bookmarks"
echo
"file:///config/Documents/insel.work INSEL Models
file:///config/Documents/shared Shared Folder"
>
/config/.gtk-bookmarks
fi
########################
# Documents folder #
########################
mkdir
-p
/config/Documents/insel.work/inselUB/doc
mkdir
-p
/config/Documents/insel.work/inselUB/resources
mkdir
-p
/config/Documents/insel.work/inselUB/src
#cp userblocks makefile
cp
/usr/local/insel/makefile /config/Documents/insel.work/inselUB/resources/makefile
########################
# Welcome files #
########################
# If volume was imported from another user
rm
-f
/config/Documents/insel.work/hello_
*
.txt
echo
"Welcome to Web-INSEL,
${
STUDENT
}
!
You can save your models in this folder.
Here are some common symbols which you could copy-paste, e.g. for diagrams:
€
$
% & [ ] { } ² ³ /
\\
°
Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ,
Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ,
Ν ν, Ξ ξ, Ο ο, Π π, Ρ ρ, Σ σ/ς,
Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω
"
>
/config/Documents/insel.work/hello_
${
STUDENT
}
.txt
echo
"Here is a folder shared between all users.
You can upload files to this folder at https://simstadt.hft-stuttgart.de/sence-mmb/upload/
Every day, models will be saved to https://simstadt.hft-stuttgart.de/download/Misc/sence_insel_models.zip
"
>
/config/Documents/shared/README.md
if
[
!
-f
/config/Documents/insel.work/01_sum.vseit
]
;
then
echo
"Adding example model"
cp
/usr/share/01_sum.vseit /config/Documents/insel.work/
fi
########################
# Start programs #
########################
rm
-rf
/config/log
#rm -rf /config/xdg
exec
pcmanfm /config/Documents/insel.work &
insel
-v
exec
insel_8
#exec xterm -e bash
rootfs/usr/local/insel/insel_gui/lib/app/loggingInsel.properties
0 → 100644
View file @
d097e2c8
############################################################
# Global properties
############################################################
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
#handlers=java.util.logging.ConsoleHandler
# To also add the FileHandler, use the following line instead.
handlers
=
java.util.logging.FileHandler, java.util.logging.ConsoleHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overridden by a more restrictive specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level
=
CONFIG
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern
=
/config/.insel_8_3/INSEL_%g_%u.log
java.util.logging.FileHandler.limit
=
1000000
java.util.logging.FileHandler.count
=
3
java.util.logging.FileHandler.formatter
=
java.util.logging.SimpleFormatter
# Limit the message that are printed on the console to CONFIG and above.
java.util.logging.ConsoleHandler.level
=
CONFIG
java.util.logging.ConsoleHandler.formatter
=
java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
# For example, set the com.xyz.foo logger to only log SEVERE messages:
# com.xyz.foo=SEVERE
rootfs/usr/share/01_sum.vseit
0 → 100644
View file @
d097e2c8
<?xml version='1.0' encoding='UTF-8'?>
<!-- XML for representing entities of a VSEit Network with their attributes and relationships-->
<vseit-network
xmlns:xlink=
"http://www.w3.org/1999/xlink"
client-class=
"eu.insel.vseit.InselVseit"
client-class-version=
"9"
first-id=
"0"
entity-count=
"11"
>
<entity
id=
"_0"
class=
"eu.insel.block.CONST"
>
<ref
name=
"outPorts"
><to>
_5
</to></ref>
<attr
name=
"blockName"
><string>
CONST
</string></attr>
<attr
name=
"blockFunction"
><string>
fb0001
</string></attr>
<attr
name=
"userBlockNumber"
><int>
1
</int></attr>
<attr
name=
"inputPortsCount"
><int>
0
</int></attr>
<attr
name=
"outputPortsCount"
><int>
1
</int></attr>
<attr
name=
"bp1"
><string>
1
</string></attr>
</entity>
<entity
id=
"_1"
class=
"eu.insel.block.CONST"
>
<ref
name=
"outPorts"
><to>
_6
</to></ref>
<attr
name=
"blockName"
><string>
CONST
</string></attr>
<attr
name=
"blockFunction"
><string>
fb0001
</string></attr>
<attr
name=
"userBlockNumber"
><int>
2
</int></attr>
<attr
name=
"inputPortsCount"
><int>
0
</int></attr>
<attr
name=
"outputPortsCount"
><int>
1
</int></attr>
<attr
name=
"bp1"
><string>
2
</string></attr>
</entity>
<entity
id=
"_2"
class=
"eu.insel.block.PortIn"
>
<ref
name=
"linkFrom"
><to>
_5
</to></ref>
<ref
name=
"portOf"
><to>
_8
</to></ref>
</entity>
<entity
id=
"_3"
class=
"eu.insel.block.PortIn"
>
<ref
name=
"linkFrom"
><to>
_6
</to></ref>
<ref
name=
"portOf"
><to>
_8
</to></ref>
</entity>
<entity
id=
"_4"
class=
"eu.insel.block.PortIn"
>
<ref
name=
"linkFrom"
><to>
_7
</to></ref>
<ref
name=
"portOf"
><to>
_9
</to></ref>
</entity>
<entity
id=
"_5"
class=
"eu.insel.block.PortOut"
>
<ref
name=
"linkTo"
><to>
_2
</to></ref>
<ref
name=
"portOf"
><to>
_0
</to></ref>
</entity>
<entity
id=
"_6"
class=
"eu.insel.block.PortOut"
>
<ref
name=
"linkTo"
><to>
_3
</to></ref>
<ref
name=
"portOf"
><to>
_1
</to></ref>
</entity>
<entity
id=
"_7"
class=
"eu.insel.block.PortOut"
>
<ref
name=
"linkTo"
><to>
_4
</to></ref>
<ref
name=
"portOf"
><to>
_8
</to></ref>
</entity>
<entity
id=
"_8"
class=
"eu.insel.block.SUM"
>
<ref
name=
"inPorts"
><to>
_2
</to><to>
_3
</to></ref>
<ref
name=
"outPorts"
><to>
_7
</to></ref>
<attr
name=
"blockName"
><string>
SUM
</string></attr>
<attr
name=
"blockFunction"
><string>
fb0002
</string></attr>
<attr
name=
"userBlockNumber"
><int>
3
</int></attr>
<attr
name=
"inputPortsCount"
><int>
2
</int></attr>
<attr
name=
"outputPortsCount"
><int>
1
</int></attr>
</entity>
<entity
id=
"_9"
class=
"eu.insel.block.SCREEN1G"
>
<ref
name=
"inPorts"
><to>
_4
</to></ref>
<attr
name=
"blockName"
><string>
SCREEN1G
</string></attr>
<attr
name=
"blockFunction"
><string>
fb0014
</string></attr>
<attr
name=
"userBlockNumber"
><int>
4
</int></attr>
<attr
name=
"inputPortsCount"
><int>
1
</int></attr>
<attr
name=
"outputPortsCount"
><int>
0
</int></attr>
</entity>
<entity
id=
"_10"
class=
"eu.insel.graphics.Label"
>
<attr
name=
"width"
><int>
279
</int></attr>
<attr
name=
"height"
><int>
101
</int></attr>
<attr
name=
"keepRatio"
><bool>
false
</bool></attr>
<attr
name=
"borderWidth"
><float>
1.0
</float></attr>
<attr
name=
"borderColor"
><color>
black
</color></attr>
<attr
name=
"text"
><string>
<
html>
Hallo SENCE-Studis!
<
/html>
</string></attr>
</entity>
<!-- One or more layouts of the VSEit Network above -->
<layout
name=
"Default"
show-name=
"false"
routing-policy=
"de.vseit.network.routing.RoutingPolicyOrthogonal"
background-color=
"none"
auto-display-new=
"true"
>
<geom
node=
"_10"
><layer>
1
</layer><x>
267
</x><y>
177
</y><w>
279
</w><h>
101
</h></geom>
<geom
node=
"_4"
><layer>
1
</layer><x>
429
</x><y>
352
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_9"
><layer>
1
</layer><x>
432
</x><y>
342
</y><w>
115
</w><h>
34
</h></geom>
<geom
node=
"_7"
><layer>
1
</layer><x>
395
</x><y>
352
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_3"
><layer>
1
</layer><x>
357
</x><y>
361
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_2"
><layer>
1
</layer><x>
357
</x><y>
343
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_8"
><layer>
1
</layer><x>
360
</x><y>
342
</y><w>
34
</w><h>
34
</h></geom>
<geom
node=
"_6"
><layer>
1
</layer><x>
305
</x><y>
388
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_1"
><layer>
1
</layer><x>
270
</x><y>
387
</y><w>
34
</w><h>
16
</h></geom>
<geom
node=
"_5"
><layer>
1
</layer><x>
305
</x><y>
316
</y><w>
2
</w><h>
6
</h></geom>
<geom
node=
"_0"
><layer>
1
</layer><x>
270
</x><y>
315
</y><w>
34
</w><h>
16
</h></geom>
</layout>
<insel-file>
<![CDATA[
B 1 CONST
P 1
1 % Constant value
B 2 CONST
P 2
2 % Constant value
B 3 SUM
1.1
2.1
B 4 SCREEN1G
3.1
]]>
</insel-file>
</vseit-network>
rootfs/usr/share/applications/defaults.list
0 → 100644
View file @
d097e2c8
[Added Associations]
image/png=qpdfview.desktop;
application/pdf=qpdfview.desktop;
application/insel+xml=insel.desktop;
text/plain=pluma.desktop;
image/x-eps=pluma.desktop;
image/svg+xml=qpdfview.desktop;
[Default Applications]
image/png=qpdfview.desktop
application/pdf=qpdfview.desktop
application/insel+xml=insel.desktop
text/plain=pluma.desktop
image/x-eps=pluma.desktop
image/svg+xml=qpdfview.desktop
rootfs/usr/share/applications/qpdfview.desktop
0 → 100644
View file @
d097e2c8
[Desktop Entry]
Type=Application
Terminal=false
Name=qpdfview
Icon=qpdfview
GenericName=tabbed document viewer
Comment=A tabbed document viewer using Qt and the Poppler library.
Categories=Viewer;Office;
Keywords=viewer;document;presentation;pdf;ps;djvu;
TryExec=qpdfview
Exec=qpdfview %F
MimeType=application/pdf;application/x-pdf;text/pdf;text/x-pdf;image/pdf;image/x-pdf;application/postscript;image/vnd.djvu;image/x-djvu;image/png
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment