Warning: session_start(): open(/var/lib/php/sessions/sess_cs8322k7o185r11obb7qihb9tc, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sS windowTitle = "Gazelle V 2020-10-28 .04";
sS downloadURL = "https://botcompany.de/jar/1033411?withLibs=1&noCompiler=1";
sS trayIconImageID = #1103047;
lib 1400521 // FlatLAF
set flag PingV3.
static IF0 ping_v3_pingSourceMaker() { ret () -> new PingSource; }
sclass Stem {
JFrame window;
Rect getFrameRect() {
ret toRect(getBounds(window));
}
}
static Stem stem;
static GazelleV gazelle;
static TrayIcon trayIcon;
static JFrame mainWindow;
static Set argsSet;
svoid trayIconLeftClick {
activateFrame_v3(mainWindow);
}
svoid makeTrayIcon {
pcall-short {
trayIcon = installTrayIcon(trayIconImageID, windowTitle,
r trayIconLeftClick,
"Show Gazelle", r { activateFrame(mainWindow) },
"Exit Gazelle", r cleanExit
);
}
}
p {
__javax = x30.class;
loadableUtils.utils.__setJavaX(x30.class);
vm_generalMap_put(stefansOS := mc());
__javax = x30.class;
x30.__javax = x30.class; // for hotwire
x30_pkg.x30_util.__setJavaX(x30.class);
x30.cleanKillMsg = "";
callOnLoadMethods(mc());
argsSet = asSet(args);
if (!argsSet.contains("noflatlaf"))
com.formdev.flatlaf.FlatLightLaf.setup();
GazelleV gazelle;
if (contains(args, "profile"))
profileToConsole(() -> actualMain(args));
else
actualMain(args);
if (argsSet.contains("brexit")) System.exit(0);
temp gazelle.enter();
gazelle.start();
}
svoid actualMain(S... args) {
// Do the JavaX init
System.out.println(hmsWithColonsAndMS() + ": Init");
//x30.coreInit();
// Read to roll
if (containsOneOf("upgrade", "update"))
ret with upgradeGazelle();
makeTrayIcon();
printWithMS("new GazelleV");
gazelle = new GazelleV;
stem = new Stem;
gazelle._host = stem;
temp gazelle.enter();
printWithMS("Visualize");
var vis = swing(() -> gazelle.visualize());
vis = makeWindowBorderAndTitle(vis, windowTitle);
printWithMS("Show frame");
//stem.window = showMainFrame("Gazella", vis);
JFrame frame = makeUndecoratedFrame(windowTitle, vis);
stem.window = mainWindow = frame;
//stem.window = makeWindow(vis);
//stem.window.setSize(500, 500);
//centerWindow(stem.window);
onWindowClosing(stem.window, r cleanExit);
showWindow(stem.window);
printWithMS("Dudadoneski");
}
svoid minimize {
if (trayIcon == null)
minimizeWindow(mainWindow);
else
hideWindow(mainWindow);
}
static JComponent makeWindowBorderAndTitle(JComponent contents, S title) {
//ret jCenteredSection_fontSizePlus(10, title, vis);
var icons = jline();
icons.add(jbutton("Minimize", r minimize));
icons.add(jbutton("Close", r { disposeWindow(icons) }));
icons.add(jPopDownButton_noText(
"Download & run latest version", rThread upgradeGazelle,
));
var titleBar = centerAndEastWithMargin(
setOpaqueBackground(awtColor("ADD8E6"), fontSizePlus(7, jCenteredLabel(title))),
icons);
ret withBorder(createBevelBorder(),
northAndCenter(titleBar, contents));
}
sO dm_getStem(O moduleOrID) {
ret stem;
}
sO resolveModule(O moduleOrID) { ret moduleOrID == stem ? gazelle : moduleOrID; }
svoid cleanExit {
System.exit(0);
}
svoid upgradeGazelle {
File myJar = getBytecodePathForClass(mc());
print(+myJar);
S javaCmd = or2(currentProcessCommand(), "java");
S date = ymdMinusHMS();
File f = javaxCodeDir("Downloaded Updates/" + "gazelle-" + date + ".jar");
infoBox("Downloading Update...");
loadBinaryPageToFile(downloadURL, f);
printFileInfo(f);
if (!isNonEmptySingleZip_byMagicHeader(f))
ret with infoBox("Bad file downloaded... :(");
bool replaced;
if (isFile(myJar)) {
print("Loaded " + nClasses(loadAllClassesInByteCodePath(myJar)));
print("Replacing with new version: " + myJar);
renameFile(myJar, appendToBaseName(myJar, ".bak." + date));
copyFile(f, myJar);
printFileInfo(myJar);
set replaced;
}
infoBox(replaced
? "Installed update, replaced " + f2s(myJar) + " - now starting"
: "Starting update, but could not replace originally downloaded jar");
S cmd = pqO(javaCmd) + " -jar " + pqO(f);
print(cmd);
nohup(cmd);
sleepSeconds(5);
cleanExit();
}
!include early #1033309 // GazelleV