Skip to content
  •  
  •  
  •  
15 changes: 11 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
*.hex
*.jar

# Created by https://www.gitignore.io/api/gradle,eclipse,netbeans,intellij+iml
# Edit at https://www.gitignore.io/?templates=gradle,eclipse,netbeans,intellij+iml

### Eclipse ###
.metadata
bin/
Expand Down Expand Up @@ -140,4 +137,14 @@ gradle-app.setting
### Gradle Patch ###
**/build/

# End of https://www.gitignore.io/api/gradle,eclipse,netbeans,intellij+iml
### VS Code ###
.vscode/
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
.metals/

# Local History for Visual Studio Code
.history/
19 changes: 17 additions & 2 deletions application/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
import org.apache.tools.ant.filters.ReplaceTokens

Expand Down Expand Up @@ -31,6 +31,10 @@ dependencies {
extraLibs libs.logback
extraLibs libs.slf4JApi
extraLibs libs.migLayout
extraLibs libs.flatLaf
extraLibs(libs.flatLafExtras) {
exclude group: 'com.formdev', module: 'flatlaf'
}

providedRuntime project(":plugins:compiler:as-8080")
providedRuntime project(":plugins:compiler:as-ssem")
Expand Down Expand Up @@ -68,7 +72,6 @@ dependencies {
testImplementation libs.slf4JSimple
}


application {
applicationName = 'emuStudio'
mainClassName = 'net.emustudio.application.cmdline.Runner'
Expand Down Expand Up @@ -154,6 +157,18 @@ startScripts {
def unixScriptFile = file getUnixScript()
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib\\logback.xml', '.')
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib/logback.xml', '.')

// --- NEW: Wayland/Sway fix for AWT (XWayland) ---
def unixText = unixScriptFile.text
if (!unixText.contains('_JAVA_AWT_WM_NONREPARENTING')) {
unixText = unixText.replaceFirst(
/(?m)^#!.*$/,
'#!/usr/bin/env sh\n\n' +
'# Workaround for Swing/AWT resizing under Sway/Wayland (XWayland)\n' +
'export _JAVA_AWT_WM_NONREPARENTING=1\n'
)
unixScriptFile.text = unixText
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application;

import net.emustudio.emulib.runtime.ApplicationApi;
import net.emustudio.emulib.runtime.ContextPool;
import net.emustudio.emulib.runtime.interaction.Dialogs;
import net.emustudio.emulib.runtime.interaction.debugger.DebuggerTable;
import net.emustudio.emulib.runtime.ui.Dialogs;
import net.emustudio.emulib.runtime.ui.debugger.DebuggerTable;

import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application;


import java.awt.*;

import static net.emustudio.emulib.runtime.interaction.GuiUtils.loadFontResource;
import static net.emustudio.emulib.runtime.ui.GUI.loadFont;

public class Constants {

public static final Font FONT_CODE = loadFontResource(
public static final Font FONT_CODE = loadFont(
"/net/emustudio/application/gui/FiraCode-Regular.ttf", Constants.class, 13);

public static final Color DEBUGTABLE_COLOR_CURRENT_INSTRUCTION = Color.RED;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.cmdline;

import net.emustudio.application.emulation.Automation;
import net.emustudio.application.gui.ExtendedDialogs;
import net.emustudio.application.gui.GuiDialogsImpl;
import net.emustudio.application.gui.NoGuiDialogsImpl;
import net.emustudio.application.gui.framework.EmuStudioUI;
import net.emustudio.application.gui.framework.ExtendedDialogs;
import net.emustudio.application.gui.framework.GuiDialogsImpl;
import net.emustudio.application.gui.framework.NoGuiDialogsImpl;
import net.emustudio.application.gui.debugtable.DebugTableModelImpl;
import net.emustudio.application.gui.dialogs.LoadingDialog;
import net.emustudio.application.settings.AppSettings;
Expand All @@ -21,7 +22,6 @@
import java.util.Optional;

import static net.emustudio.application.cmdline.Utils.*;
import static net.emustudio.application.gui.GuiUtils.setupLookAndFeel;

@SuppressWarnings("unused")
@CommandLine.Command(name = "automation", aliases = {"auto"}, description = "run emulation automation")
Expand All @@ -48,7 +48,7 @@ public void run() {
try {
AppSettings appConfig = loadAppSettings(gui, true);
if (gui) {
setupLookAndFeel(appConfig);
EmuStudioUI.initialize(appConfig);
dialogs = new GuiDialogsImpl();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.cmdline;

import net.emustudio.application.Resources;
import net.emustudio.application.gui.ExtendedDialogs;
import net.emustudio.application.gui.GuiDialogsImpl;
import net.emustudio.application.gui.framework.EmuStudioUI;
import net.emustudio.application.gui.framework.ExtendedDialogs;
import net.emustudio.application.gui.framework.GuiDialogsImpl;
import net.emustudio.application.gui.debugtable.DebugTableModelImpl;
import net.emustudio.application.gui.dialogs.LoadingDialog;
import net.emustudio.application.settings.AppSettings;
Expand All @@ -22,7 +23,6 @@
import java.util.concurrent.atomic.AtomicInteger;

import static net.emustudio.application.cmdline.Utils.*;
import static net.emustudio.application.gui.GuiUtils.setupLookAndFeel;
import static net.emustudio.application.settings.ConfigFiles.listConfigurationNames;

@SuppressWarnings("unused")
Expand Down Expand Up @@ -81,7 +81,7 @@ public void run() {
if (!runsSomeCommand) {
try {
AppSettings appConfig = loadAppSettings(true, false);
setupLookAndFeel(appConfig);
EmuStudioUI.initialize(appConfig);
ExtendedDialogs dialogs = new GuiDialogsImpl();
Optional<ComputerConfig> computerConfigOpt = (exclusive != null) ?
exclusive.loadConfiguration() :
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.cmdline;

import net.emustudio.application.ApplicationApiImpl;
import net.emustudio.application.gui.ExtendedDialogs;
import net.emustudio.application.gui.framework.ExtendedDialogs;
import net.emustudio.application.gui.debugtable.DebugTableModel;
import net.emustudio.application.gui.debugtable.DebugTableModelImpl;
import net.emustudio.application.gui.dialogs.LoadingDialog;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.emulation;

Expand All @@ -11,7 +11,7 @@
import net.emustudio.emulib.plugins.cpu.CPU;
import net.emustudio.emulib.plugins.device.Device;
import net.emustudio.emulib.runtime.helpers.Unchecked;
import net.emustudio.emulib.runtime.interaction.Dialogs;
import net.emustudio.emulib.runtime.ui.Dialogs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.emulation;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SPDX-FileCopyrightText: 2006-2025 Peter Jakubčo
/* SPDX-FileCopyrightText: 2006-2026 Peter Jakubčo
SPDX-License-Identifier: GPL-3.0-or-later */
package net.emustudio.application.emulation;

Expand Down

This file was deleted.

108 changes: 0 additions & 108 deletions application/src/main/java/net/emustudio/application/gui/GuiUtils.java

This file was deleted.

Loading
Loading