global settting

This commit is contained in:
Xuan Sang LE 2018-01-22 19:59:08 +01:00
parent 338dca02b9
commit 46e50b191f
15 changed files with 133 additions and 176 deletions

View File

@ -19,13 +19,12 @@ coffees= src/core/core.coffee\
packages = NotePad wTerm ActivityMonitor DummyApp Files
services = PushNotification Spotlight Calendar
packages = CoreServices NotePad wTerm ActivityMonitor DummyApp Files
main: build_coffees build_tags build_themes schemes libs build_services build_packages
main: build_coffees build_tags build_themes schemes libs build_packages
- cp src/index.html $(BUILDDIR)/
lite: build_coffee build_tag build_theme schemes build_services build_packages
lite: build_coffee build_tag build_theme schemes build_packages
#%.js: %.coffee
# coffee --compile $<
@ -33,6 +32,7 @@ build_coffees:
@echo "$(BLUE)Building coffee files$(NC)"
- mkdir $(BUILDDIR)/scripts
- rm $(BUILDDIR)/scripts/antos.js
- rm $(BUILDDIR)/scripts/antos.coffee
for f in $(coffees); do (cat "$${f}"; echo) >> $(BUILDDIR)/scripts/antos.coffee; done
coffee --compile $(BUILDDIR)/scripts/antos.coffee
- rm $(BUILDDIR)/scripts/antos.coffee
@ -70,11 +70,6 @@ antos_themes_build:
cp src/themes/antos/wp.png $(BUILDDIR)/resources/themes/antos/
build_services:
@echo "$(BLUE)Building services$(NC)"
-mkdir -p $(BUILDDIR)/services
-rm -rf $(BUILDDIR)/services/*
for f in $(services); do (coffee -cs < "src/services/$$f.coffee" >$(BUILDDIR)/services/"$$f.js");done
build_packages:
- mkdir $(BUILDDIR)/packages
- for d in $(packages); do ( test -d $(BUILDDIR)/packages/$$d && rm -rf $(BUILDDIR)/packages/$$d/* ); done

View File

@ -8,6 +8,13 @@ class BaseModel
_OS.setting.applications[@name] = {} if not _OS.setting.applications[@name]
@setting = _OS.setting.applications[@name]
@dialog = undefined
@subscribe "appregistry"
,(m)->
me.applySetting m.data.m if (m.name is me.name)
registry: (k,v) ->
@setting[k] = v
@publish "appregistry",k
render: (p) ->
_GUI.loadScheme p, @, @host
@ -24,12 +31,14 @@ class BaseModel
#implement by sub class
onexit: (e) ->
#implement by subclass
applySetting: (k) ->
one: (e, f) -> @observable.one e, f
on: (e, f) -> @observable.on e, f
trigger: (e, d) -> @observable.trigger e, d
subscribe: (e, f) -> _courrier.on e, f, @
subscribe: (e, f) ->
_courrier.on e, f, @
openDialog: (d, f, data) ->
if @dialog

View File

@ -36,48 +36,58 @@ self.OS.GUI =
srvs.splice 0, 1
f i for i in srvs
pushService: (srv) ->
pushService: (ph) ->
arr = ph.split "/"
srv = arr[1]
app = arr[0]
return _PM.createProcess srv, _OS.APP[srv] if _OS.APP[srv]
path = "services/#{srv}.js"
_API.script path,
(d) ->
_PM.createProcess srv, _OS.APP[srv]
, (e, s) ->
_GUI.loadApp app,
(a)->
return _PM.createProcess srv, _OS.APP[srv] if _OS.APP[srv]
(e, s) ->
_courrier.trigger "srvroutineready", srv
_courrier.osfail "Cannot read service script: #{srv} ", e, s
forceLaunch: (app, args) ->
console.log "This method is used for developing only, please use the launch method instead"
_PM.killAll app
_OS.APP[app] = undefined
_GUI.launch app, args
loadApp:(app, ok, err) ->
path = "packages/#{app}/"
_API.script path + "main.js",
(d) ->
#load css file
_API.get "#{path}main.css",
() ->
$ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{path}main.css" }
.appendTo 'head'
, () ->
#launch
if _OS.APP[app]
# load app meta data
_API.get "#{path}package.json",
(data) ->
_OS.APP[app].meta = data
ok app
, (e, s) ->
_courrier.osfail "Cannot read application metadata: #{app}", e, s
err e, s
else
ok app
, (e, s) ->
#BUG report here
_courrier.osfail "Cannot load application script: #{app}", e, s
console.log "bug report", e, s, path
err e,s
launch: (app, args) ->
if not _OS.APP[app]
# first load it
path = "packages/#{app}/"
_API.script path + "main.js",
(d) ->
#load css file
_API.get "#{path}main.css",
() ->
$ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{path}main.css" }
.appendTo 'head'
, () ->
#launch
if _OS.APP[app]
# load app meta data
_API.get "#{path}package.json",
(data) ->
_OS.APP[app].meta = data
_PM.createProcess app, _OS.APP[app], args
, (e, s) ->
_courrier.osfail "Cannot read application metadata: #{app}", e, s
alert "cannot read application, meta-data"
_GUI.loadApp app,
(a)->
_PM.createProcess a, _OS.APP[a], args
, (e, s) ->
#BUG report here
_courrier.osfail "Cannot load application script: #{app}", e, s
console.log "bug report", e, s, path
else
# now launch it
if _OS.APP[app]
@ -168,4 +178,5 @@ self.OS.GUI =
_GUI.loadTheme "antos"
_GUI.initDM()
_courrier.observable.one "syspanelloaded", () ->
_GUI.pushServices ["PushNotification", "Spotlight", "Calendar"]
#_GUI.loadApp "CoreServices", (a) ->
_GUI.pushServices ["CoreServices/PushNotification", "CoreServices/Spotlight", "CoreServices/Calendar"]

View File

@ -6,28 +6,6 @@ cssfiles = main.css
copyfiles = scheme.html package.json
PKG_NAME=ActivityMonitor
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package ActivityMonitor =======$(NC)"
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*
include ../pkg.mk

View File

@ -0,0 +1,11 @@
coffee_files = Calendar.coffee PushNotification.coffee Spotlight.coffee
jsfiles =
cssfiles =
copyfiles = package.json
PKG_NAME=CoreServices
include ../pkg.mk

View File

@ -0,0 +1,14 @@
{
"app":"CoreServices",
"name":"CoreServices",
"description":"This is the core services",
"info":{
"author": "Xuan Sang LE",
"email": "xsang.le@gmail.com",
"credit": "dedicated to some one here",
"licences": "MIT"
},
"version":"0.1a",
"category":"System",
"mimes":["*"]
}

View File

@ -7,27 +7,5 @@ cssfiles = main.css
copyfiles = scheme.html package.json
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package DummyApp =======$(NC)"
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*
PKG_NAME=DummyApp
include ../pkg.mk

View File

@ -7,27 +7,5 @@ cssfiles = main.css
copyfiles = scheme.html package.json
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package Files =======$(NC)"
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*
PKG_NAME=ActivityFile
include ../pkg.mk

View File

@ -9,7 +9,6 @@ class Files extends this.OS.GUI.BaseApplication
@navbar = @find "nav-bar"
@prepaths = []
@favo = @find "favouri"
@loadSetting()
@view.contextmenuHandler = (e, m) ->
m.set "items", [ me.mnFile(), me.mnEdit() ]
@ -34,13 +33,7 @@ class Files extends this.OS.GUI.BaseApplication
me._api.handler.scandir e.child.path,
(d) -> f d.result
, (e, s) -> me.error "Cannot fetch child dir #{e.child.path}"
@favo.set "items", @setting.favorite
loadSetting: () ->
# view setting
@view.set "view", @setting.view if @setting.view
@view.set "showhidden", @setting.showhidden if @setting.showhidden
@setting.favorite = [
{ text: "Applications", path: 'apps:///', iconclass:"fa fa-adn"},
{ text: "Home", path: 'home:///', iconclass:"fa fa-home", selected:true},
@ -48,8 +41,15 @@ class Files extends this.OS.GUI.BaseApplication
{ text: "Desktop", path: 'home:///.desktop', iconclass: "fa fa-desktop" },
] if not @setting.favorite
@setting.sidebar = true if @setting.sidebar is undefined
@toggleSidebar @setting.sidebar
@setting.nav = true if @setting.nav is undefined
@favo.set "items", @setting.favorite
@applySetting()
applySetting: (k) ->
# view setting
@view.set "view", @setting.view if @setting.view
@view.set "showhidden", @setting.showhidden if @setting.showhidden
@toggleSidebar @setting.sidebar
@toggleNav @setting.nav
chdir: (p, push) ->
@ -123,16 +123,19 @@ class Files extends this.OS.GUI.BaseApplication
actionView: (e) ->
switch e.item.data.dataid
when "#{@name}-hidden"
@.view.set "showhidden", e.item.data.checked
@.setting.showhidden = e.item.data.checked
#@.view.set "showhidden", e.item.data.checked
@registry "showhidden",e.item.data.checked
#@.setting.showhidden = e.item.data.checked
when "#{@name}-refresh"
@.chdir ($ @.navinput).val(), false
when "#{@name}-side"
@setting.sidebar = e.item.data.checked
@toggleSidebar e.item.data.checked
@registry "sidebar",e.item.data.checked
#@setting.sidebar = e.item.data.checked
#@toggleSidebar e.item.data.checked
when "#{@name}-nav"
@setting.nav = e.item.data.checked
@toggleNav e.item.data.checked
@registry "nav", e.item.data.checked
#@setting.nav = e.item.data.checked
#@toggleNav e.item.data.checked
actionEdit: (e) ->
switch e.item.data.dataid

View File

@ -7,27 +7,5 @@ cssfiles = main.css
copyfiles = scheme.html package.json
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package NotePad =======$(NC)"
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*
PKG_NAME=NotePad
include ../pkg.mk

25
src/packages/pkg.mk Normal file
View File

@ -0,0 +1,25 @@
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package $(PKG_NAME) =======$(NC)"
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*

View File

@ -7,28 +7,5 @@ cssfiles = xterm.css main.css
copyfiles = scheme.html package.json
BLUE=\033[1;34m
NC=\033[0m
main: title clean js css copy
title:
@echo "$(BLUE)======= Package wTerm =======$(NC)"
- rm -rf build/*
coffee:
- mkdir build
for f in $(coffee_files); do (coffee -cs < $$f >build/"$$f.js");done
for f in build/*.coffee.js; do (cat "$${f}"; echo) >> build/main.js; done
- rm build/*.coffee.js
js: coffee
for f in $(jsfiles); do (cat "$${f}"; echo) >> build/main.js; done
css:
for f in $(cssfiles); do (cat "$${f}"; echo) >> build/main.css; done
copy:
cp -rf $(copyfiles) build/
clean:
- rm -rf build/*
PKG_NAME=wTerm
include ../pkg.mk