init
commit
86e1baf89a
|
@ -0,0 +1,13 @@
|
|||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
.idea
|
||||
._*
|
||||
|
||||
*.deb
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
|
||||
we
|
||||
__pycache__
|
||||
*.txt
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -d unpack ]; then
|
||||
sudo rm -rf unpack
|
||||
fi
|
||||
|
||||
version="3.0.4"
|
||||
|
||||
mkdir -p unpack/DEBIAN
|
||||
|
||||
cp debian/control unpack/DEBIAN/
|
||||
cp -r usr unpack/
|
||||
|
||||
mkdir -p unpack/usr/share/icons/hicolor/128x128/apps
|
||||
mkdir -p unpack/usr/share/icons/hicolor/256x256/apps
|
||||
|
||||
cp icons/128x128.png unpack/usr/share/icons/hicolor/128x128/apps/dooke.png
|
||||
cp icons/256x256.png unpack/usr/share/icons/hicolor/256x256/apps/dooke.png
|
||||
|
||||
cd unpack
|
||||
find usr -type f | xargs md5sum > DEBIAN/md5sums
|
||||
|
||||
_size=$(du -d 0 usr | cut -f1)
|
||||
|
||||
sed -i "s/{{size}}/${_size}/" DEBIAN/control
|
||||
sed -i "s/{{version}}/${version}/" DEBIAN/control
|
||||
|
||||
cd ..
|
||||
sudo chown -R root:root unpack/
|
||||
dpkg-deb -b unpack/ "dooke-${version}.deb"
|
||||
|
||||
sudo rm -rf unpack
|
|
@ -0,0 +1,12 @@
|
|||
Package: dooke
|
||||
Version: {{version}}
|
||||
Section: develop
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Maintainer: Yutent <yutent.io@gmail.com>
|
||||
Installed-Size: {{size}}
|
||||
Depends: python3-webengine-gtk3 (>=0.6.1)
|
||||
Homepage: https://git.wkit.fun/appcat/dooke
|
||||
Author: yutent
|
||||
Description: docker管理面板。
|
||||
提供了一个类似官网docker desktop的管理面板.
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
export RUN_ENV='development'
|
||||
|
||||
|
||||
./usr/lib/dooke/dooke.py
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
/usr/lib/dooke/dooke.py
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import gi
|
||||
|
||||
gi.require_version('Gtk', '3.0')
|
||||
|
||||
from gi.repository import Gtk
|
||||
|
||||
class Window(Gtk.Window):
|
||||
def __init__(self, title = 'Untitled window', width = 840, height = 520):
|
||||
Gtk.Window.__init__(self, title = title)
|
||||
self.set_default_size(width, height)
|
||||
self.resize(width, height)
|
||||
self.set_wmclass('Dooke', 'Dooke')
|
||||
self.set_title('Dooke')
|
||||
|
||||
|
||||
def toggle_visible(self, icon):
|
||||
if self.is_visible():
|
||||
self.hide()
|
||||
else:
|
||||
self.present()
|
|
@ -0,0 +1,67 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
import gi, os, sys
|
||||
|
||||
gi.require_version('Gtk', '3.0')
|
||||
|
||||
from gi.repository import Gtk, Gdk, GLib, Gio, GObject, GdkPixbuf
|
||||
|
||||
from webengine.gtk3 import WebEngine, create_setting, create_hmr_server
|
||||
from _window import Window
|
||||
|
||||
APP_ID = 'fun.wkit.dooke'
|
||||
__dir__ = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
web_root = os.path.join(__dir__, './webapp')
|
||||
home_dir = os.getenv('HOME')
|
||||
config_dir = os.path.join(home_dir, '.config/dooke')
|
||||
|
||||
|
||||
if not os.path.isdir(config_dir):
|
||||
os.mkdir(config_dir)
|
||||
|
||||
|
||||
class Application(Gtk.Application):
|
||||
def __init__(self):
|
||||
|
||||
Gtk.Application.__init__(self, application_id = APP_ID)
|
||||
|
||||
self.window = Window()
|
||||
|
||||
web = WebEngine(self.window)
|
||||
web.set_root(web_root)
|
||||
|
||||
if os.getenv('RUN_ENV') == 'development':
|
||||
setting = create_setting({"devtools": True})
|
||||
hmr = create_hmr_server()
|
||||
web.use(setting).use(hmr)
|
||||
|
||||
web.connect('quit', self.quit_all)
|
||||
web.load()
|
||||
|
||||
self.window.add(web)
|
||||
|
||||
|
||||
|
||||
def do_activate(self):
|
||||
|
||||
self.set_app_menu(None)
|
||||
self.set_menubar(None)
|
||||
|
||||
self.add_window(self.window)
|
||||
self.window.show_all()
|
||||
|
||||
|
||||
def quit_all(self, widget):
|
||||
self.remove_window(self.window)
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
app = Application()
|
||||
app.run(sys.argv)
|
||||
except Exception as err:
|
||||
print(err)
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=Dooke
|
||||
Comment[zh_CN]=Docker 面板
|
||||
Exec=dooke
|
||||
Icon=dooke
|
||||
Terminal=false
|
||||
X-MultipleArgs=false
|
||||
Type=Application
|
||||
Categories=Development;
|
Loading…
Reference in New Issue