diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserBookmarkComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserBookmarkComp.java index 1bbd795cf..6b9c3d16b 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserBookmarkComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserBookmarkComp.java @@ -94,7 +94,8 @@ final class BrowserBookmarkComp extends SimpleComp { event.consume(); }); }); - }, true); + }, + true); var category = new DataStoreCategoryChoiceComp( StoreViewState.get().getAllConnectionsCategory(), StoreViewState.get().getActiveCategory(), diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserTransferModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserTransferModel.java index 23c65ca40..23e686fa1 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserTransferModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserTransferModel.java @@ -124,7 +124,11 @@ public class BrowserTransferModel { try { try (var b = new BooleanScope(downloading).start()) { FileSystemHelper.dropFilesInto( - FileSystemHelper.getLocal(TEMP), List.of(item.getFileEntry()), true, false, progress -> { + FileSystemHelper.getLocal(TEMP), + List.of(item.getFileEntry()), + true, + false, + progress -> { item.getProgress().setValue(progress); item.getOpenFileSystemModel().getProgress().setValue(progress); }); @@ -158,7 +162,8 @@ public class BrowserTransferModel { public ObservableBooleanValue downloadFinished() { return Bindings.createBooleanBinding( () -> { - return progress.getValue() != null && progress.getValue().done(); + return progress.getValue() != null + && progress.getValue().done(); }, progress); } diff --git a/app/src/main/java/io/xpipe/app/browser/FileSystemHelper.java b/app/src/main/java/io/xpipe/app/browser/FileSystemHelper.java index 7983eddbb..809a1fca4 100644 --- a/app/src/main/java/io/xpipe/app/browser/FileSystemHelper.java +++ b/app/src/main/java/io/xpipe/app/browser/FileSystemHelper.java @@ -123,8 +123,7 @@ public class FileSystemHelper { } if (!model.getFileSystem().directoryExists(path)) { - throw ErrorEvent.expected( - new IllegalArgumentException(String.format("Directory %s does not exist", path))); + throw ErrorEvent.expected(new IllegalArgumentException(String.format("Directory %s does not exist", path))); } try { @@ -153,7 +152,11 @@ public class FileSystemHelper { } public static void dropLocalFilesInto( - FileSystem.FileEntry entry, List files, Consumer progress, boolean checkConflicts) throws Exception { + FileSystem.FileEntry entry, + List files, + Consumer progress, + boolean checkConflicts) + throws Exception { var entries = files.stream() .map(path -> { try { @@ -202,7 +205,8 @@ public class FileSystemHelper { AtomicReference lastConflictChoice = new AtomicReference<>(); for (var file : files) { if (file.getFileSystem().equals(target.getFileSystem())) { - dropFileAcrossSameFileSystem(target, file, explicitCopy, lastConflictChoice, files.size() > 1, checkConflicts); + dropFileAcrossSameFileSystem( + target, file, explicitCopy, lastConflictChoice, files.size() > 1, checkConflicts); progress.accept(BrowserTransferProgress.finished(file.getName(), file.getSize())); } else { dropFileAcrossFileSystems(target, file, progress, lastConflictChoice, files.size() > 1, checkConflicts); @@ -297,8 +301,12 @@ public class FileSystemHelper { if (sourceFile.getKind() == FileKind.DIRECTORY) { target.getFileSystem().mkdirs(targetFile); } else if (sourceFile.getKind() == FileKind.FILE) { - if (checkConflicts && !handleChoice( - lastConflictChoice, target.getFileSystem(), targetFile, multiple || flatFiles.size() > 1)) { + if (checkConflicts + && !handleChoice( + lastConflictChoice, + target.getFileSystem(), + targetFile, + multiple || flatFiles.size() > 1)) { continue; } diff --git a/app/src/main/java/io/xpipe/app/comp/base/SystemStateComp.java b/app/src/main/java/io/xpipe/app/comp/base/SystemStateComp.java index d1468808f..34669005e 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/SystemStateComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/SystemStateComp.java @@ -79,13 +79,12 @@ public class SystemStateComp extends SimpleComp { public static ObservableValue shellState(StoreEntryWrapper w) { return BindingsHelper.map(w.getPersistentState(), o -> { if (o instanceof ShellStoreState s) { - if (s.getShellDialect() != null && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) { + if (s.getShellDialect() != null + && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) { return SUCCESS; } - return s.getRunning() != null - ? s.getRunning() ? SUCCESS : FAILURE - : OTHER; + return s.getRunning() != null ? s.getRunning() ? SUCCESS : FAILURE : OTHER; } return OTHER; diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java index 54ff7a627..f7fc8aa65 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java @@ -216,7 +216,9 @@ public class StoreEntryWrapper { return true; } - if (entry.getValidity().isUsable() && entry.getProvider().getSearchableTerms(entry.getStore()).stream().anyMatch(s -> s.toLowerCase().contains(filter.toLowerCase()))) { + if (entry.getValidity().isUsable() + && entry.getProvider().getSearchableTerms(entry.getStore()).stream() + .anyMatch(s -> s.toLowerCase().contains(filter.toLowerCase()))) { return true; } diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreSectionComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreSectionComp.java index 2f33c7d89..ca7bb98cc 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreSectionComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreSectionComp.java @@ -95,7 +95,8 @@ public class StoreSectionComp extends Comp> { .apply(struc -> struc.get().setFillHeight(true)) .hide(BindingsHelper.persist(Bindings.or( Bindings.not(section.getWrapper().getExpanded()), - Bindings.size(section.getShownChildren()).isEqualTo(0)))))) + Bindings.size(section.getShownChildren()) + .isEqualTo(0)))))) .styleClass("store-entry-section-comp") .apply(struc -> { struc.get().setFillWidth(true); diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreSectionMiniComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreSectionMiniComp.java index 79e2f2770..3b482a337 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreSectionMiniComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreSectionMiniComp.java @@ -33,18 +33,21 @@ public class StoreSectionMiniComp extends Comp> { private static final PseudoClass TOP = PseudoClass.getPseudoClass("top"); private static final PseudoClass SUB = PseudoClass.getPseudoClass("sub"); - private final StoreSection section; private final BiConsumer>> augment; private final boolean condensedStyle; - public StoreSectionMiniComp(StoreSection section, BiConsumer>> augment, boolean condensedStyle) { + public StoreSectionMiniComp( + StoreSection section, + BiConsumer>> augment, + boolean condensedStyle) { this.section = section; this.augment = augment; this.condensedStyle = condensedStyle; } - public static Comp createList(StoreSection top, BiConsumer>> augment, boolean condensedStyle) { + public static Comp createList( + StoreSection top, BiConsumer>> augment, boolean condensedStyle) { return new StoreSectionMiniComp(top, augment, condensedStyle); } @@ -112,7 +115,7 @@ public class StoreSectionMiniComp extends Comp> { section.getAllChildren()) : section.getShownChildren(); var content = new ListBoxViewComp<>(listSections, section.getAllChildren(), (StoreSection e) -> { - return new StoreSectionMiniComp(e, this.augment, this.condensedStyle); + return new StoreSectionMiniComp(e, this.augment, this.condensedStyle); }) .minHeight(0) .hgrow(); @@ -128,8 +131,7 @@ public class StoreSectionMiniComp extends Comp> { if (condensedStyle) { vert.styleClass("condensed"); } - return vert - .styleClass("store-section-mini-comp") + return vert.styleClass("store-section-mini-comp") .apply(struc -> { struc.get().setFillWidth(true); SimpleChangeListener.apply(expanded, val -> { diff --git a/app/src/main/java/io/xpipe/app/core/AppFileWatcher.java b/app/src/main/java/io/xpipe/app/core/AppFileWatcher.java index d8919a2e1..b42bd9787 100644 --- a/app/src/main/java/io/xpipe/app/core/AppFileWatcher.java +++ b/app/src/main/java/io/xpipe/app/core/AppFileWatcher.java @@ -52,7 +52,11 @@ public class AppFileWatcher { try { watchService = FileSystems.getDefault().newWatchService(); } catch (IOException e) { - ErrorEvent.fromThrowable("Unable to initialize file watcher. Watching and updating files in the file browser will be unavailable.", e).expected().handle(); + ErrorEvent.fromThrowable( + "Unable to initialize file watcher. Watching and updating files in the file browser will be unavailable.", + e) + .expected() + .handle(); return; } diff --git a/app/src/main/java/io/xpipe/app/core/AppVersion.java b/app/src/main/java/io/xpipe/app/core/AppVersion.java index 36940377b..30ee36e7e 100644 --- a/app/src/main/java/io/xpipe/app/core/AppVersion.java +++ b/app/src/main/java/io/xpipe/app/core/AppVersion.java @@ -8,6 +8,10 @@ import java.util.Optional; @Value public class AppVersion implements Comparable { + int major; + int minor; + int patch; + public static Optional parse(String version) { try { var releaseSplit = version.split("-"); @@ -23,10 +27,6 @@ public class AppVersion implements Comparable { } } - int major; - int minor; - int patch; - public boolean greaterThan(AppVersion other) { return compareTo(other) > 0; } diff --git a/app/src/main/java/io/xpipe/app/ext/ScanProvider.java b/app/src/main/java/io/xpipe/app/ext/ScanProvider.java index 0815c72fa..3da157de0 100644 --- a/app/src/main/java/io/xpipe/app/ext/ScanProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/ScanProvider.java @@ -38,7 +38,8 @@ public abstract class ScanProvider { FailableRunnable scanner; String licenseFeatureId; - public ScanOperation(String nameKey, boolean disabled, boolean defaultSelected, FailableRunnable scanner) { + public ScanOperation( + String nameKey, boolean disabled, boolean defaultSelected, FailableRunnable scanner) { this.nameKey = nameKey; this.disabled = disabled; this.defaultSelected = defaultSelected; diff --git a/app/src/main/java/io/xpipe/app/fxcomps/impl/DataStoreChoiceComp.java b/app/src/main/java/io/xpipe/app/fxcomps/impl/DataStoreChoiceComp.java index 6c8b80abd..ed612c97a 100644 --- a/app/src/main/java/io/xpipe/app/fxcomps/impl/DataStoreChoiceComp.java +++ b/app/src/main/java/io/xpipe/app/fxcomps/impl/DataStoreChoiceComp.java @@ -100,7 +100,8 @@ public class DataStoreChoiceComp extends SimpleComp { if (!applicable.test(s.getWrapper())) { comp.disable(new SimpleBooleanProperty(true)); } - }, false); + }, + false); var category = new DataStoreCategoryChoiceComp( initialCategory != null ? initialCategory.getRoot() : null, StoreViewState.get().getActiveCategory(), diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java index d67b0c8c6..248db9a46 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java @@ -60,8 +60,8 @@ public class AppPrefs { map(new SimpleBooleanProperty(false), "disableCertutilUse", Boolean.class); public final BooleanProperty useLocalFallbackShell = map(new SimpleBooleanProperty(false), "useLocalFallbackShell", Boolean.class); - public final BooleanProperty disableTerminalRemotePasswordPreparation = - mapVaultSpecific(new SimpleBooleanProperty(false), "disableTerminalRemotePasswordPreparation", Boolean.class); + public final BooleanProperty disableTerminalRemotePasswordPreparation = mapVaultSpecific( + new SimpleBooleanProperty(false), "disableTerminalRemotePasswordPreparation", Boolean.class); public final Property alwaysConfirmElevation = mapVaultSpecific(new SimpleObjectProperty<>(false), "alwaysConfirmElevation", Boolean.class); public final BooleanProperty dontCachePasswords = @@ -95,7 +95,6 @@ public class AppPrefs { map(new SimpleBooleanProperty(true), "openConnectionSearchWindowOnConnectionCreation", Boolean.class); final ObjectProperty storageDirectory = map(new SimpleObjectProperty<>(DEFAULT_STORAGE_DIR), "storageDirectory", Path.class); - private AppPrefsStorageHandler vaultStorageHandler; final BooleanProperty developerMode = map(new SimpleBooleanProperty(false), "developerMode", Boolean.class); final BooleanProperty developerDisableUpdateVersionCheck = map(new SimpleBooleanProperty(false), "developerDisableUpdateVersionCheck", Boolean.class); @@ -107,30 +106,24 @@ public class AppPrefs { bindDeveloperTrue(developerDisableGuiRestrictions); private final ObjectProperty language = map(new SimpleObjectProperty<>(SupportedLocale.ENGLISH), "language", SupportedLocale.class); - @Getter private final Property lockPassword = new SimpleObjectProperty<>(); - @Getter private final StringProperty lockCrypt = mapVaultSpecific(new SimpleStringProperty(), "workspaceLock", String.class); - private final IntegerProperty editorReloadTimeout = map(new SimpleIntegerProperty(1000), "editorReloadTimeout", Integer.class); private final BooleanProperty confirmDeletions = map(new SimpleBooleanProperty(true), "confirmDeletions", Boolean.class); - @Getter private final List categories; - private final AppPrefsStorageHandler globalStorageHandler = new AppPrefsStorageHandler( AppProperties.get().getDataDir().resolve("settings").resolve("preferences.json")); private final Map, Comp> customEntries = new LinkedHashMap<>(); - @Getter private final Property selectedCategory; - private final PrefsHandler extensionHandler = new PrefsHandlerImpl(); + private AppPrefsStorageHandler vaultStorageHandler; private AppPrefs() { this.categories = List.of( @@ -159,7 +152,8 @@ public class AppPrefs { PrefsProvider.getAll().forEach(prov -> prov.addPrefs(INSTANCE.extensionHandler)); INSTANCE.loadLocal(); INSTANCE.fixInvalidLocalValues(); - INSTANCE.vaultStorageHandler = new AppPrefsStorageHandler(INSTANCE.storageDirectory().getValue().resolve("preferences.json")); + INSTANCE.vaultStorageHandler = new AppPrefsStorageHandler( + INSTANCE.storageDirectory().getValue().resolve("preferences.json")); } public static void initSharedRemote() { @@ -474,7 +468,8 @@ public class AppPrefs { public void save() { for (Mapping m : mapping) { AppPrefsStorageHandler handler = m.isVaultSpecific() ? vaultStorageHandler : globalStorageHandler; - // It might be possible that we save while the vault handler is not initialized yet / has no file or directory + // It might be possible that we save while the vault handler is not initialized yet / has no file or + // directory if (!handler.isInitialized()) { continue; } diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java index 3453e9eaa..18ead9fc7 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java @@ -59,7 +59,10 @@ public class AppPrefsStorageHandler { public T loadObject(String id, Class type, T defaultObject) { var tree = getContent(id); if (tree == null) { - TrackEvent.withDebug("Preferences value not found").tag("id", id).tag("default", defaultObject).handle(); + TrackEvent.withDebug("Preferences value not found") + .tag("id", id) + .tag("default", defaultObject) + .handle(); return defaultObject; } diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java index af71e7c8a..a84a9beb1 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java @@ -196,8 +196,12 @@ public interface ExternalTerminalType extends PrefsChoiceValue { @Override protected void execute(Path file, LaunchConfiguration configuration) throws Exception { // Tabby has a very weird handling of output, even detaching with start does not prevent it from printing - LocalShell.getShell().executeSimpleCommand( - CommandBuilder.of().addFile(file.toString()).add("run").addFile(configuration.getScriptFile()).discardOutput()); + LocalShell.getShell() + .executeSimpleCommand(CommandBuilder.of() + .addFile(file.toString()) + .add("run") + .addFile(configuration.getScriptFile()) + .discardOutput()); } @Override diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorage.java b/app/src/main/java/io/xpipe/app/storage/DataStorage.java index cac425c5c..530cf7524 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -421,8 +421,11 @@ public abstract class DataStorage { // pair.getKey().setStoreInternal(pair.getValue().getStore(), false); // Update state by merging - if (pair.getKey().getStorePersistentState() != null && pair.getValue().get().getStorePersistentState() != null) { - var classMatch = pair.getKey().getStorePersistentState().getClass() + if (pair.getKey().getStorePersistentState() != null + && pair.getValue().get().getStorePersistentState() != null) { + var classMatch = pair.getKey() + .getStorePersistentState() + .getClass() .equals(pair.getValue().get().getStorePersistentState().getClass()); // Children classes might not be the same, the same goes for state classes // This can happen when there are multiple child classes and the ids got switched around diff --git a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java index 315ecbd5c..fc750c188 100644 --- a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java @@ -171,7 +171,11 @@ public class StandardStorage extends DataStorage { local.deleteFromDisk(); hasFixedLocal = false; } catch (IOException ex) { - ErrorEvent.fromThrowable(ex).terminal(true).expected().build().handle(); + ErrorEvent.fromThrowable(ex) + .terminal(true) + .expected() + .build() + .handle(); } } } diff --git a/app/src/main/java/io/xpipe/app/update/AppDownloads.java b/app/src/main/java/io/xpipe/app/update/AppDownloads.java index b34ca98e5..23a1d3338 100644 --- a/app/src/main/java/io/xpipe/app/update/AppDownloads.java +++ b/app/src/main/java/io/xpipe/app/update/AppDownloads.java @@ -127,7 +127,9 @@ public class AppDownloads { // If we are currently running a prerelease, always return this as the suitable release! if (preIncluding.isPresent() && preIncluding.get().isPrerelease() - && AppProperties.get().getVersion().equals(preIncluding.get().getTagName())) { + && AppProperties.get() + .getVersion() + .equals(preIncluding.get().getTagName())) { return preIncluding; } diff --git a/app/src/main/java/io/xpipe/app/update/AppInstaller.java b/app/src/main/java/io/xpipe/app/update/AppInstaller.java index 8e10ad23c..012beecfc 100644 --- a/app/src/main/java/io/xpipe/app/update/AppInstaller.java +++ b/app/src/main/java/io/xpipe/app/update/AppInstaller.java @@ -66,20 +66,29 @@ public class AppInstaller { @Override public void installLocal(String file) throws Exception { var shellProcessControl = new LocalStore().control().start(); - var exec = (AppProperties.get().isDevelopmentEnvironment() ? Path.of(XPipeInstallation.getLocalDefaultInstallationBasePath()) : - XPipeInstallation.getCurrentInstallationBasePath()) - .resolve(XPipeInstallation.getDaemonExecutablePath(OsType.getLocal())).toString(); + var exec = (AppProperties.get().isDevelopmentEnvironment() + ? Path.of(XPipeInstallation.getLocalDefaultInstallationBasePath()) + : XPipeInstallation.getCurrentInstallationBasePath()) + .resolve(XPipeInstallation.getDaemonExecutablePath(OsType.getLocal())) + .toString(); var logsDir = FileNames.join(XPipeInstallation.getDataDir().toString(), "logs"); var logFile = FileNames.join(logsDir, "installer_" + FileNames.getFileName(file) + ".log"); - var command = LocalShell.getShell().getShellDialect().equals(ShellDialects.CMD) ? - getCmdCommand(file, logFile, exec) : getPowershellCommand(file, logFile, exec); - var toRun = LocalShell.getShell().getShellDialect().equals(ShellDialects.CMD) ? - "start \"XPipe Updater\" /min cmd /c \"" + ScriptHelper.createLocalExecScript(command) + "\"" : - "Start-Process -WindowStyle Minimized -FilePath powershell -ArgumentList \"-ExecutionPolicy\", \"Bypass\", \"-File\", \"`\"" + ScriptHelper.createLocalExecScript(command) + "`\"\""; + var command = LocalShell.getShell().getShellDialect().equals(ShellDialects.CMD) + ? getCmdCommand(file, logFile, exec) + : getPowershellCommand(file, logFile, exec); + var toRun = LocalShell.getShell().getShellDialect().equals(ShellDialects.CMD) + ? "start \"XPipe Updater\" /min cmd /c \"" + ScriptHelper.createLocalExecScript(command) + "\"" + : "Start-Process -WindowStyle Minimized -FilePath powershell -ArgumentList \"-ExecutionPolicy\", \"Bypass\", \"-File\", \"`\"" + + ScriptHelper.createLocalExecScript(command) + "`\"\""; shellProcessControl.executeSimpleCommand(toRun); } - private String getCmdCommand(String file, String logFile, String exec) { + @Override + public String getExtension() { + return ".msi"; + } + + private String getCmdCommand(String file, String logFile, String exec) { return String.format( """ echo Installing %s ... @@ -93,7 +102,7 @@ public class AppInstaller { file, file, logFile, file, logFile, exec, exec); } - private String getPowershellCommand(String file, String logFile, String exec) { + private String getPowershellCommand(String file, String logFile, String exec) { return String.format( """ echo Installing %s ... @@ -106,11 +115,6 @@ public class AppInstaller { """, file, file, logFile, file, logFile, exec, exec); } - - @Override - public String getExtension() { - return ".msi"; - } } @JsonTypeName("debian") @@ -119,7 +123,8 @@ public class AppInstaller { @Override public void installLocal(String file) throws Exception { var name = AppProperties.get().isStaging() ? "xpipe-ptb" : "xpipe"; - var command = String.format(""" + var command = String.format( + """ function exec { echo "+ sudo apt install \\"%s\\"" DEBIAN_FRONTEND=noninteractive sudo apt-get install -qy "%s" || return 1 @@ -128,7 +133,8 @@ public class AppInstaller { cd ~ exec || read -rsp "Update failed ..."$'\\n' -n 1 key - """, file, file, name); + """, + file, file, name); TerminalLauncher.openDirect("XPipe Updater", LocalShell.getShell(), command); } @@ -143,7 +149,8 @@ public class AppInstaller { @Override public void installLocal(String file) throws Exception { var name = AppProperties.get().isStaging() ? "xpipe-ptb" : "xpipe"; - var command = String.format(""" + var command = String.format( + """ function exec { echo "+ sudo rpm -U -v --force \\"%s\\"" sudo rpm -U -v --force "%s" || return 1 @@ -152,7 +159,8 @@ public class AppInstaller { cd ~ exec || read -rsp "Update failed ..."$'\\n' -n 1 key - """, file, file, name); + """, + file, file, name); TerminalLauncher.openDirect("XPipe Updater", LocalShell.getShell(), command); } @@ -167,7 +175,8 @@ public class AppInstaller { @Override public void installLocal(String file) throws Exception { var name = AppProperties.get().isStaging() ? "xpipe-ptb" : "xpipe"; - var command = String.format(""" + var command = String.format( + """ function exec { echo "+ sudo installer -verboseR -allowUntrusted -pkg \\"%s\\" -target /" sudo installer -verboseR -allowUntrusted -pkg "%s" -target / || return 1 @@ -176,7 +185,8 @@ public class AppInstaller { cd ~ exec || echo "Update failed ..." && read -rs -k 1 key - """, file, file, name); + """, + file, file, name); TerminalLauncher.openDirect("XPipe Updater", LocalShell.getShell(), command); } diff --git a/app/src/main/java/io/xpipe/app/util/ApplicationHelper.java b/app/src/main/java/io/xpipe/app/util/ApplicationHelper.java index aeaa1873e..2487afa8d 100644 --- a/app/src/main/java/io/xpipe/app/util/ApplicationHelper.java +++ b/app/src/main/java/io/xpipe/app/util/ApplicationHelper.java @@ -70,8 +70,8 @@ public class ApplicationHelper { ShellControl processControl, String executable, String displayName, DataStoreEntry connection) throws Exception { if (!isInPath(processControl, executable)) { - throw ErrorEvent.expected(new IOException(displayName + " executable " + executable - + " not found in PATH" + (connection != null ? " on system " + connection.getName() : ""))); + throw ErrorEvent.expected(new IOException(displayName + " executable " + executable + " not found in PATH" + + (connection != null ? " on system " + connection.getName() : ""))); } } diff --git a/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java b/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java index 7166319f3..8d2496dd9 100644 --- a/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java +++ b/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java @@ -20,8 +20,11 @@ public class DataStoreFormatter { return null; } - if (s.getShellDialect() != null && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) { - return s.getOsName() != null ? s.getOsName() : s.getShellDialect().getDisplayName(); + if (s.getShellDialect() != null + && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) { + return s.getOsName() != null + ? s.getOsName() + : s.getShellDialect().getDisplayName(); } return s.isRunning() ? s.getOsName() : "Connection failed"; diff --git a/app/src/main/java/io/xpipe/app/util/FileOpener.java b/app/src/main/java/io/xpipe/app/util/FileOpener.java index 54eec2a4a..e71e0725a 100644 --- a/app/src/main/java/io/xpipe/app/util/FileOpener.java +++ b/app/src/main/java/io/xpipe/app/util/FileOpener.java @@ -72,7 +72,8 @@ public class FileOpener { editor.launch(Path.of(localFile).toRealPath()); } catch (Exception e) { ErrorEvent.fromThrowable(e) - .description("Unable to launch editor " + editor.toTranslatedString().getValue() + .description("Unable to launch editor " + + editor.toTranslatedString().getValue() + ".\nMaybe try to use a different editor in the settings.") .expected() .handle(); diff --git a/app/src/main/java/io/xpipe/app/util/ScanAlert.java b/app/src/main/java/io/xpipe/app/util/ScanAlert.java index 0adfd2a78..fe03a6e68 100644 --- a/app/src/main/java/io/xpipe/app/util/ScanAlert.java +++ b/app/src/main/java/io/xpipe/app/util/ScanAlert.java @@ -65,7 +65,8 @@ public class ScanAlert { } private static void show( - DataStoreEntry initialStore, BiFunction> applicable) { + DataStoreEntry initialStore, + BiFunction> applicable) { DialogComp.showWindow( "scanAlertTitle", stage -> new Dialog(stage, initialStore != null ? initialStore.ref() : null, applicable)); @@ -85,7 +86,7 @@ public class ScanAlert { private Dialog( Stage window, DataStoreEntryRef entry, - BiFunction> applicable) { + BiFunction> applicable) { this.window = window; this.initialStore = entry; this.entry = new SimpleObjectProperty<>(entry); @@ -110,13 +111,14 @@ public class ScanAlert { }); BooleanScope.execute(busy, () -> { - shellControl.start(); entry.get().get().setExpanded(true); var copy = new ArrayList<>(selected); for (var a : copy) { // If the user decided to remove the selected entry // while the scan is running, just return instantly - if (!DataStorage.get().getStoreEntriesSet().contains(entry.get().get())) { + if (!DataStorage.get() + .getStoreEntriesSet() + .contains(entry.get().get())) { return; } @@ -200,7 +202,10 @@ public class ScanAlert { } var suffix = LicenseProvider.get().getFeature(s.getLicensedFeatureId()); - return n + suffix.getDescriptionSuffix().map(d -> " (" + d + ")").orElse(""); + return n + + suffix.getDescriptionSuffix() + .map(d -> " (" + d + ")") + .orElse(""); }; var r = new ListSelectorComp<>( a, diff --git a/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java b/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java index 28041e3fc..15a8a3cec 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java +++ b/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java @@ -116,7 +116,8 @@ public class SecretQueryProgress { private boolean shouldCache(SecretQuery query, String prompt) { var shouldCache = query.cache() && SecretManager.shouldCacheForPrompt(prompt) - && (!query.respectDontCacheSetting() || !AppPrefs.get().dontCachePasswords().get()); + && (!query.respectDontCacheSetting() + || !AppPrefs.get().dontCachePasswords().get()); return shouldCache; } } diff --git a/app/src/main/java/io/xpipe/app/util/ShellTemp.java b/app/src/main/java/io/xpipe/app/util/ShellTemp.java index b6a0d52c6..473868d4e 100644 --- a/app/src/main/java/io/xpipe/app/util/ShellTemp.java +++ b/app/src/main/java/io/xpipe/app/util/ShellTemp.java @@ -45,9 +45,11 @@ public class ShellTemp { // Always delete legacy directory and do not care whether it partially fails // This system xpipe temp directory might contain other files on the local machine, so only clear the exec - d.deleteFileOrDirectory(proc, FileNames.join(systemTemp, "xpipe", "exec")).executeAndCheck(); + d.deleteFileOrDirectory(proc, FileNames.join(systemTemp, "xpipe", "exec")) + .executeAndCheck(); d.deleteFileOrDirectory(proc, FileNames.join(home, ".xpipe", "temp")).executeAndCheck(); - d.deleteFileOrDirectory(proc, FileNames.join(home, ".xpipe", "system_id")).executeAndCheck(); + d.deleteFileOrDirectory(proc, FileNames.join(home, ".xpipe", "system_id")) + .executeAndCheck(); } private static boolean checkDirectoryPermissions(ShellControl proc, String dir) throws Exception { diff --git a/app/src/main/resources/io/xpipe/app/resources/font-config/font.css b/app/src/main/resources/io/xpipe/app/resources/font-config/font.css index daa8683bf..5ba38bc60 100644 --- a/app/src/main/resources/io/xpipe/app/resources/font-config/font.css +++ b/app/src/main/resources/io/xpipe/app/resources/font-config/font.css @@ -1,3 +1,3 @@ .root { --fx-font-family: "Roboto"; + -fx-font-family: "Roboto"; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/alert.css b/app/src/main/resources/io/xpipe/app/resources/style/alert.css index 8dee7ae2b..571fff7c5 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/alert.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/alert.css @@ -18,7 +18,7 @@ } .dialog-pane:header .header-panel { --fx-background-color: -color-bg-default; + -fx-background-color: -color-bg-default; -fx-padding: 1.5em; } @@ -27,9 +27,9 @@ } .dialog-pane:header > .content { --fx-border-width: 2px 0 0 0; --fx-border-color:-color-accent-fg; --fx-background-color: -color-bg-default; + -fx-border-width: 2px 0 0 0; + -fx-border-color: -color-accent-fg; + -fx-background-color: -color-bg-default; -fx-border-insets: 0 1.5em 1.5em 1.5em; -fx-padding: 1.5em 0 0 0; } @@ -48,6 +48,6 @@ -fx-text-fill: -color-fg-default; } -.dialog-pane:header > *.label.content{ +.dialog-pane:header > *.label.content { -fx-font-size: 0.8em; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css b/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css index 8485d9bfd..b4b6c5c06 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/bookmark.css @@ -1,19 +1,19 @@ .bookmark-list > .categories { --fx-padding: 0.7em 1em 0.7em 1em; --fx-background-color: -color-bg-subtle; - -fx-border-color: -color-border-default; - -fx-border-width: 0 0 1 0; + -fx-padding: 0.7em 1em 0.7em 1em; + -fx-background-color: -color-bg-subtle; + -fx-border-color: -color-border-default; + -fx-border-width: 0 0 1 0; } .bookmark-list .filter-comp { - -fx-border-width: 1; --fx-border-radius: 0 4px 4px 0; --fx-background-radius: 0 4px 4px 0; --fx-background-color: -color-bg-default; --fx-border-color: -color-border-default; + -fx-border-width: 1; + -fx-border-radius: 0 4px 4px 0; + -fx-background-radius: 0 4px 4px 0; + -fx-background-color: -color-bg-default; + -fx-border-color: -color-border-default; } .bookmark-list .store-section-mini-comp .item:selected { - -fx-font-weight: BOLD; + -fx-font-weight: BOLD; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/browser.css b/app/src/main/resources/io/xpipe/app/resources/style/browser.css index d3dd22bfa..270453a55 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/browser.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/browser.css @@ -6,8 +6,8 @@ } .transfer .button { --fx-border-color: -color-border-default; --fx-border-width: 1px; + -fx-border-color: -color-border-default; + -fx-border-width: 1px; -fx-background-color: -color-bg-default; -fx-background-radius: 4; -fx-border-radius: 4; @@ -28,7 +28,7 @@ } .browser .tile > * { - -fx-padding: 0.6em 0 0.6em 0; + -fx-padding: 0.6em 0 0.6em 0; } .browser .overview { @@ -46,11 +46,11 @@ } .selected-file-list.drag { --fx-border-width: 1px; --fx-border-color: -color-border-default; --fx-background-color: -color-neutral-muted; --fx-background-radius: 1px; --fx-border-radius: 1px; + -fx-border-width: 1px; + -fx-border-color: -color-border-default; + -fx-background-color: -color-neutral-muted; + -fx-background-radius: 1px; + -fx-border-radius: 1px; } .bookmark-list .tree-cell:filled:hover { @@ -119,7 +119,7 @@ .browser .top-bar { -fx-border-width: 1 0 1 0; -fx-border-color: -color-border-default; - -fx-padding: 5px 10px ; + -fx-padding: 5px 10px; } .browser .top-bar > .button { @@ -146,48 +146,48 @@ .browser .status-bar { -fx-border-width: 1 0 0 0; --fx-border-color: -color-border-default; + -fx-border-color: -color-border-default; -fx-font-family: Roboto; } -.browser .breadcrumbs >.divider { +.browser .breadcrumbs > .divider { -fx-padding: 0; } .browser .context-menu > * > * { --fx-padding: 3px 10px 3px 10px; --fx-background-radius: 1px; --fx-spacing: 20px; + -fx-padding: 3px 10px 3px 10px; + -fx-background-radius: 1px; + -fx-spacing: 20px; } .browser .context-menu .separator { --fx-padding: 0; + -fx-padding: 0; } .browser .breadcrumbs { --fx-padding: 2px 10px 2px 10px; + -fx-padding: 2px 10px 2px 10px; } .browser .context-menu .separator .line { --fx-padding: 0; --fx-border-insets: 0px; + -fx-padding: 0; + -fx-border-insets: 0px; } .browser .breadcrumbs { --fx-background-color: transparent; + -fx-background-color: transparent; } .browser .breadcrumbs .button { --fx-padding: 3px 1px 3px 1px; --fx-background-color: transparent; + -fx-padding: 3px 1px 3px 1px; + -fx-background-color: transparent; } .browser .breadcrumbs .button:hover { --fx-background-color: -color-neutral-muted; + -fx-background-color: -color-neutral-muted; } .browser .path-text:invisible { --fx-text-fill: transparent; + -fx-text-fill: transparent; } .browser .overview-file-list { @@ -201,11 +201,11 @@ } .browser .context-menu .accelerator-text { --fx-padding: 3px 0px 3px 50px; + -fx-padding: 3px 0px 3px 50px; } .browser .context-menu > * { --fx-padding: 0; + -fx-padding: 0; } .browser .context-menu { @@ -216,25 +216,27 @@ } .browser .tab-pane { - -fx-border-width: 0 0 0 1px; --fx-border-color: -color-border-default; + -fx-border-width: 0 0 0 1px; + -fx-border-color: -color-border-default; } .chooser-bar { --fx-border-color: -color-border-default; --fx-border-width: 1 0 0 0; --fx-padding: 0.4em 0.7em; --fx-background-color: -color-neutral-muted; + -fx-border-color: -color-border-default; + -fx-border-width: 1 0 0 0; + -fx-padding: 0.4em 0.7em; + -fx-background-color: -color-neutral-muted; } -.browser .tab-content-area { -fx-padding: 0; } +.browser .tab-content-area { + -fx-padding: 0; +} .browser .singular { - -fx-tab-max-height: 0 ; + -fx-tab-max-height: 0; } .browser .singular .tab-header-area { - visibility: hidden ; + visibility: hidden; } .browser .table-view { @@ -250,7 +252,7 @@ /* setting opacity directly to the .table-cell or .table-row-cell leads to incorrect table row height calculation #javafx-bug */ -.browser .table-row-cell:hidden >.table-cell > * { +.browser .table-row-cell:hidden > .table-cell > * { -fx-opacity: 0.75; } @@ -258,7 +260,7 @@ -fx-opacity: 0.65; } -.browser .table-row-cell:file:hover,.table-row-cell:folder:hover { +.browser .table-row-cell:file:hover, .table-row-cell:folder:hover { -fx-background-color: -color-accent-subtle; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/category.css b/app/src/main/resources/io/xpipe/app/resources/style/category.css index 28a74c1ea..57fbaed0e 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/category.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/category.css @@ -1,5 +1,5 @@ .category-button { --fx-opacity: 0.8; + -fx-opacity: 0.8; -fx-border-width: 0; -fx-background-color: transparent; -fx-padding: 0 0 0 2; @@ -11,29 +11,29 @@ } .category-button .settings { --fx-opacity: 1.0; + -fx-opacity: 1.0; } - .category-button:hover, .category-button:focused { - -fx-background-color: -color-bg-default; +.category-button:hover, .category-button:focused { + -fx-background-color: -color-bg-default; } .category:selected .category-button { --fx-opacity: 1.0; --fx-background-radius: 4px; --fx-border-radius: 4px; --fx-border-width: 1px; --fx-border-color: -color-border-default; --fx-background-color: -color-bg-default; + -fx-opacity: 1.0; + -fx-background-radius: 4px; + -fx-border-radius: 4px; + -fx-border-width: 1px; + -fx-border-color: -color-border-default; + -fx-background-color: -color-bg-default; } -.category .separator{ +.category .separator { -fx-padding: 0 5 0 5; } .category .separator .line { --fx-pref-height: 1; + -fx-pref-height: 1; -fx-background-color: -color-fg-default; -fx-opacity: 0.5; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/choice-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/choice-comp.css index 215c4eb1a..2127a3e4f 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/choice-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/choice-comp.css @@ -1,16 +1,16 @@ .combo-box { --fx-focus-color: transparent; + -fx-focus-color: transparent; } .choice-comp-content > .top { --fx-padding: 0.5em 1em 0.5em 1em; --fx-background-color: -color-neutral-subtle; - -fx-border-width: 1 0 1 0; - -fx-border-color: -color-border-default; + -fx-padding: 0.5em 1em 0.5em 1em; + -fx-background-color: -color-neutral-subtle; + -fx-border-width: 1 0 1 0; + -fx-border-color: -color-border-default; } .choice-comp .filter-comp { - -fx-border-width: 1px; --fx-background-color: -color-bg-default; --fx-border-color: -color-border-default; + -fx-border-width: 1px; + -fx-background-color: -color-bg-default; + -fx-border-color: -color-border-default; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/code-snippet.css b/app/src/main/resources/io/xpipe/app/resources/style/code-snippet.css index 424c8d218..d4cec9064 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/code-snippet.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/code-snippet.css @@ -1,18 +1,18 @@ .code-snippet { --fx-padding: 0.3em 0.5em 0.3em 0.5em; --fx-border-width: 0; --fx-border-color:-color-accent-fg; --fx-spacing: 0; --fx-font-family: Monospace; + -fx-padding: 0.3em 0.5em 0.3em 0.5em; + -fx-border-width: 0; + -fx-border-color: -color-accent-fg; + -fx-spacing: 0; + -fx-font-family: Monospace; } .code-snippet-container { --fx-border-width: 1px; --fx-border-color:-color-accent-fg; --fx-background-color: transparent; --fx-border-radius: 4px; --fx-background-radius: 4px; --fx-padding: 3px; + -fx-border-width: 1px; + -fx-border-color: -color-accent-fg; + -fx-background-color: transparent; + -fx-border-radius: 4px; + -fx-background-radius: 4px; + -fx-padding: 3px; } .copy { @@ -20,17 +20,17 @@ } .line-number { --fx-alignment: center-right; --fx-font-family: Monospace; --fx-text-fill: grey; + -fx-alignment: center-right; + -fx-font-family: Monospace; + -fx-text-fill: grey; } .line-numbers { --fx-padding: 0.3em 0.2em 0.3em 0.5em; --fx-background-color: #073B4C11; + -fx-padding: 0.3em 0.2em 0.3em 0.5em; + -fx-background-color: #073B4C11; } .code-snippet-container .spacer { --fx-pref-width: 1px; --fx-background-color:-color-accent-fg; + -fx-pref-width: 1px; + -fx-background-color: -color-accent-fg; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/color-box.css b/app/src/main/resources/io/xpipe/app/resources/style/color-box.css index c248699fb..d7f379a22 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/color-box.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/color-box.css @@ -19,7 +19,6 @@ } - .root:pretty:dark .color-box.gray { -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, derive(-color-bg-default, 13%) 40%, derive(-color-bg-default, 11%) 50%, derive(-color-bg-default, 14%) 100%); -fx-border-color: -color-border-default; @@ -45,9 +44,8 @@ } - .root:pretty:light .color-box.blue { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(130, 130, 250, 0.2) 40%, rgb(57, 57, 200, 0.2) 50%, rgb(137, 137, 250, 0.2) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(130, 130, 250, 0.2) 40%, rgb(57, 57, 200, 0.2) 50%, rgb(137, 137, 250, 0.2) 100%); -fx-border-color: rgba(80, 100, 150, 0.3); } @@ -61,7 +59,7 @@ } .root:pretty:dark .color-box.blue { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(30, 30, 80, 0.8) 40%, rgb(27, 27, 65, 0.8) 50%, rgb(37, 37, 100, 0.8) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(30, 30, 80, 0.8) 40%, rgb(27, 27, 65, 0.8) 50%, rgb(37, 37, 100, 0.8) 100%); -fx-border-color: rgba(80, 100, 150, 0.7); } @@ -75,9 +73,8 @@ } - .root:pretty:light .color-box.red { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(220, 100, 100, 0.15) 40%, rgb(205, 50, 50, 0.15) 50%, rgb(200, 90, 90, 0.15) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(220, 100, 100, 0.15) 40%, rgb(205, 50, 50, 0.15) 50%, rgb(200, 90, 90, 0.15) 100%); -fx-border-color: rgba(150, 100, 80, 0.4); } @@ -91,7 +88,7 @@ } .root:pretty:dark .color-box.red { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(80, 30, 30, 0.4) 40%, rgb(65, 27, 27, 0.4) 50%, rgb(100, 37, 37, 0.4) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(80, 30, 30, 0.4) 40%, rgb(65, 27, 27, 0.4) 50%, rgb(100, 37, 37, 0.4) 100%); -fx-border-color: rgba(150, 100, 80, 0.4); } @@ -105,9 +102,8 @@ } - .root:pretty:light .color-box.yellow { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(180, 180, 30, 0.2) 40%, rgb(135, 135, 27, 0.2) 50%, rgb(200, 200, 37, 0.2) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(180, 180, 30, 0.2) 40%, rgb(135, 135, 27, 0.2) 50%, rgb(200, 200, 37, 0.2) 100%); -fx-border-color: rgba(170, 170, 80, 0.3); } @@ -121,7 +117,7 @@ } .root:pretty:dark .color-box.yellow { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(80, 80, 30, 0.4) 40%, rgb(65, 65, 27, 0.4) 50%, rgb(100, 100, 37, 0.4) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(80, 80, 30, 0.4) 40%, rgb(65, 65, 27, 0.4) 50%, rgb(100, 100, 37, 0.4) 100%); -fx-border-color: rgba(150, 150, 80, 0.4); } @@ -135,9 +131,8 @@ } - .root:pretty:light .color-box.green { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(30, 180, 30, 0.1) 40%, rgb(20, 120, 20, 0.15) 50%, rgb(37, 200, 37, 0.1) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(30, 180, 30, 0.1) 40%, rgb(20, 120, 20, 0.15) 50%, rgb(37, 200, 37, 0.1) 100%); -fx-border-color: rgba(100, 150, 80, 0.2); } @@ -151,7 +146,7 @@ } .root:pretty:dark .color-box.green { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(30, 80, 30, 0.3) 40%, rgb(20, 60, 20, 0.3) 50%, rgb(37, 100, 37, 0.3) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(30, 80, 30, 0.3) 40%, rgb(20, 60, 20, 0.3) 50%, rgb(37, 100, 37, 0.3) 100%); -fx-border-color: rgba(100, 190, 80, 0.3); } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/error-handler-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/error-handler-comp.css index d859e8b26..2c5b7559b 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/error-handler-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/error-handler-comp.css @@ -1,32 +1,32 @@ .error-handler-comp .top { --fx-padding: 1.0em 1.5em 1.0em 1.5em; --fx-spacing: 1em; + -fx-padding: 1.0em 1.5em 1.0em 1.5em; + -fx-spacing: 1em; } .error-handler-comp .actions { --fx-spacing: 0.3em; + -fx-spacing: 0.3em; } .error-handler-comp .details { --fx-padding: 0 1.5em 1.0em 1.5em; + -fx-padding: 0 1.5em 1.0em 1.5em; } .error-report .report { --fx-padding: 1.0em 1.5em 1em 1.5em; --fx-spacing: 1.3em; + -fx-padding: 1.0em 1.5em 1em 1.5em; + -fx-spacing: 1.3em; } .error-report .report, .error-report .attachments { --fx-spacing: 0.3em; + -fx-spacing: 0.3em; } .error-report .attachments .attachment-list .content { --fx-padding: 0.5em 1em; + -fx-padding: 0.5em 1em; } .error-report .buttons { --fx-border-color: -color-neutral-emphasis; --fx-border-width: 1px 0 0 0; --fx-padding: 1.0em 1.5em 1em 1.5em; --fx-background-color: -color-neutral-muted; + -fx-border-color: -color-neutral-emphasis; + -fx-border-width: 1px 0 0 0; + -fx-padding: 1.0em 1.5em 1em 1.5em; + -fx-background-color: -color-neutral-muted; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/error-overlay-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/error-overlay-comp.css index 6bc56f691..047ef7540 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/error-overlay-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/error-overlay-comp.css @@ -1,5 +1,5 @@ .error-overlay-comp { --fx-padding: 1.0em; --fx-border-width: 1px; --fx-border-radius: 2px; + -fx-padding: 1.0em; + -fx-border-width: 1px; + -fx-border-radius: 2px; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/file-drop-augment.css b/app/src/main/resources/io/xpipe/app/resources/style/file-drop-augment.css index 56c2099e9..0acf45215 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/file-drop-augment.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/file-drop-augment.css @@ -1,4 +1,4 @@ .file-drop-comp { --fx-background-color: #FFFFFF88; --fx-font-size: 10em; + -fx-background-color: #FFFFFF88; + -fx-font-size: 10em; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/filter-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/filter-comp.css index 10f4cadcc..3b5be3cb2 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/filter-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/filter-comp.css @@ -1,8 +1,8 @@ .filter-comp .text-field { --fx-padding: 0.15em 0.3em 0.15em 0.3em; --fx-background-color: transparent; + -fx-padding: 0.15em 0.3em 0.15em 0.3em; + -fx-background-color: transparent; } .filter-comp .input-line { --fx-opacity: 0.2; + -fx-opacity: 0.2; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css b/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css index 661f01e98..f0e26f93a 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/header-bars.css @@ -1,183 +1,183 @@ .bar { --fx-padding: 0.8em 1.0em 0.8em 1.0em; --fx-background-color: -color-bg-subtle; --fx-border-color: -color-border-default; + -fx-padding: 0.8em 1.0em 0.8em 1.0em; + -fx-background-color: -color-bg-subtle; + -fx-border-color: -color-border-default; } .root:pretty .bar { - -fx-effect: dropshadow(three-pass-box, -color-shadow-default, 3px, 0.5, 0, 1); + -fx-effect: dropshadow(three-pass-box, -color-shadow-default, 3px, 0.5, 0, 1); } .store-header-bar { --fx-background-radius: 0 0 4px 0; --fx-border-radius: 0 0 4px 0; - -fx-border-width: 0 0.05em 0.05em 0; --fx-spacing: 0.8em; + -fx-background-radius: 0 0 4px 0; + -fx-border-radius: 0 0 4px 0; + -fx-border-width: 0 0.05em 0.05em 0; + -fx-spacing: 0.8em; } .root.nord .store-header-bar { - -fx-background-radius: 0; - -fx-border-radius: 0; + -fx-background-radius: 0; + -fx-border-radius: 0; } .root.nord .bar { - -fx-background-radius: 0; - -fx-border-radius: 0; + -fx-background-radius: 0; + -fx-border-radius: 0; } .bar .filter-bar .text-field { --fx-padding: 0.35em; --fx-text-fill: -color-fg-default; + -fx-padding: 0.35em; + -fx-text-fill: -color-fg-default; } .store-header-bar .menu-button { --fx-background-radius: 3px; - -fx-border-radius: 3px; - -fx-border-width: 1px; - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(208, 220, 252) 40%, rgba(219, 219, 255, 1) 50%, rgb(250, 242, 242) 100%); --fx-border-color: transparent; + -fx-background-radius: 3px; + -fx-border-radius: 3px; + -fx-border-width: 1px; + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(208, 220, 252) 40%, rgba(219, 219, 255, 1) 50%, rgb(250, 242, 242) 100%); + -fx-border-color: transparent; } .root:light .store-header-bar .menu-button { - -fx-background-color: linear-gradient(from 100% 0% to 0% 100% , rgb(12, 11, 11) 40%, rgb(32, 32, 40) 50%, rgb(35, 29, 29) 100%); + -fx-background-color: linear-gradient(from 100% 0% to 0% 100%, rgb(12, 11, 11) 40%, rgb(32, 32, 40) 50%, rgb(35, 29, 29) 100%); } .root:light .store-header-bar .menu-button:hover, .root:dark .store-header-bar .menu-button:hover { - -fx-background-color: -color-bg-default; - -fx-border-color: -color-fg-default; + -fx-background-color: -color-bg-default; + -fx-border-color: -color-fg-default; } .store-header-bar .menu-button > * { - -fx-text-fill: -color-bg-default; + -fx-text-fill: -color-bg-default; } .store-header-bar .menu-button > * > .ikonli-font-icon { - -fx-icon-color: -color-bg-default; + -fx-icon-color: -color-bg-default; } .store-header-bar .menu-button .arrow { - -fx-border-color: -color-bg-default; - -fx-border-width: 4; + -fx-border-color: -color-bg-default; + -fx-border-width: 4; } .store-header-bar .menu-button:hover > * { - -fx-text-fill: -color-fg-default; + -fx-text-fill: -color-fg-default; } .store-header-bar .menu-button:hover > * > .ikonli-font-icon { - -fx-icon-color: -color-fg-default; + -fx-icon-color: -color-fg-default; } .store-header-bar .menu-button:hover .arrow { - -fx-border-color: -color-fg-default; - -fx-border-width: 4; + -fx-border-color: -color-fg-default; + -fx-border-width: 4; } .store-header-bar .menu-button .context-menu > * > * { --fx-padding: 5px 10px 5px 10px; + -fx-padding: 5px 10px 5px 10px; } .store-header-bar .menu-button .context-menu > * { --fx-padding: 0; + -fx-padding: 0; } .store-header-bar .menu-button .context-menu { --fx-padding: 3px; --fx-background-radius: 4px; --fx-border-radius: 4px; --fx-border-color: -color-neutral-muted; + -fx-padding: 3px; + -fx-background-radius: 4px; + -fx-border-radius: 4px; + -fx-border-color: -color-neutral-muted; } .store-creation-bar, .store-sort-bar, .store-category-bar { --fx-background-radius: 0 4px 4px 0; --fx-border-radius: 0 4px 4px 0; - -fx-border-width: 0.05em 0.05em 0.05em 0; --fx-spacing: 0.2em; + -fx-background-radius: 0 4px 4px 0; + -fx-border-radius: 0 4px 4px 0; + -fx-border-width: 0.05em 0.05em 0.05em 0; + -fx-spacing: 0.2em; } .root.nord .store-creation-bar, .root.nord .store-sort-bar, .root.nord .store-category-bar { - -fx-background-radius: 0; - -fx-border-radius: 0; + -fx-background-radius: 0; + -fx-border-radius: 0; } .store-category-bar { --fx-padding: 0.8em 0.5em 0.8em 0.5em; --fx-background-color: -color-bg-subtle; --fx-border-color: -color-border-default; + -fx-padding: 0.8em 0.5em 0.8em 0.5em; + -fx-background-color: -color-bg-subtle; + -fx-border-color: -color-border-default; } .store-sort-bar { --fx-background-radius: 0 4px 4px 0; --fx-border-radius: 0 4px 4px 0; - -fx-border-width: 0.05em 0.05em 0.05em 0; --fx-spacing: 0.2em; + -fx-background-radius: 0 4px 4px 0; + -fx-border-radius: 0 4px 4px 0; + -fx-border-width: 0.05em 0.05em 0.05em 0; + -fx-spacing: 0.2em; } .filler-bar { --fx-background-radius: 0 4px 0 0; --fx-border-radius: 0 4px 0 0; - -fx-border-width: 0.05em 0.05em 0 0; + -fx-background-radius: 0 4px 0 0; + -fx-border-radius: 0 4px 0 0; + -fx-border-width: 0.05em 0.05em 0 0; } .sidebar { --fx-spacing: 0.4em; --fx-background-color: transparent; + -fx-spacing: 0.4em; + -fx-background-color: transparent; } .bar .button-comp { --fx-padding: 0.2em 0em 0.2em 0em; + -fx-padding: 0.2em 0em 0.2em 0em; } .collections-bar { --fx-background-radius: 0 0 4px 0; --fx-border-radius: 0 0 4px 0; - -fx-border-width: 0 4px 4px 0; + -fx-background-radius: 0 0 4px 0; + -fx-border-radius: 0 0 4px 0; + -fx-border-width: 0 4px 4px 0; } .entry-bar { --fx-background-radius: 0 0 4px 4px; --fx-border-radius: 0 0 4px 4px; - -fx-border-width: 0 4px 4px 4px; --fx-background-color: -color-neutral-muted; + -fx-background-radius: 0 0 4px 4px; + -fx-border-radius: 0 0 4px 4px; + -fx-border-width: 0 4px 4px 4px; + -fx-background-color: -color-neutral-muted; } .entry-bar .horizontal-comp { --fx-spacing: 5px; + -fx-spacing: 5px; } .bar .icon-button-comp { --fx-text-fill: -color-fg-default; + -fx-text-fill: -color-fg-default; } .bar .name { - -fx-font-weight: BOLD; --fx-text-fill: -color-fg-default; + -fx-font-weight: BOLD; + -fx-text-fill: -color-fg-default; } .bar .count-comp { - -fx-font-weight: BOLD; --fx-padding: 0.0em 0em 0.0em 0.4em; - -fx-text-fill: -color-fg-muted; + -fx-font-weight: BOLD; + -fx-padding: 0.0em 0em 0.0em 0.4em; + -fx-text-fill: -color-fg-muted; } .bar .filter-bar .text-field { --fx-text-fill: -color-fg-default; + -fx-text-fill: -color-fg-default; } .bar .filter-bar { --fx-background-radius: 3px; - -fx-background-color: -color-bg-default; - -fx-border-color: -color-fg-default; - -fx-border-width: 0.05em; --fx-border-radius: 3px; + -fx-background-radius: 3px; + -fx-background-color: -color-bg-default; + -fx-border-color: -color-fg-default; + -fx-border-width: 0.05em; + -fx-border-radius: 3px; } .bar .filter-bar .filter-background { --fx-opacity: 0.7; + -fx-opacity: 0.7; } .filter-bar .input-line { --fx-opacity: 0.2; + -fx-opacity: 0.2; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/intro.css b/app/src/main/resources/io/xpipe/app/resources/style/intro.css index d4367d0cb..49293244e 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/intro.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/intro.css @@ -1,12 +1,12 @@ .intro .label { --fx-line-spacing: -1px; + -fx-line-spacing: -1px; } .intro .title { --fx-padding: 0 0 0.2em 0; + -fx-padding: 0 0 0.2em 0; -fx-text-fill: -color-fg-emphasis; } .intro .separator { --fx-padding: 0.75em 0 0.75em 0; + -fx-padding: 0.75em 0 0.75em 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/lazy-text-field-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/lazy-text-field-comp.css index f75082ca1..3e04e431e 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/lazy-text-field-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/lazy-text-field-comp.css @@ -3,13 +3,13 @@ } .lazy-text-field-comp:disabled { --fx-opacity: 1.0; + -fx-opacity: 1.0; } .lazy-text-field-comp:disabled.text-field .input-line { --fx-opacity: 0; + -fx-opacity: 0; } .lazy-text-field-comp .input-line { --fx-opacity: 0.0; + -fx-opacity: 0.0; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css index 229981cd1..534e57851 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css @@ -1,18 +1,18 @@ .modal-overlay-comp .titled-pane { --fx-padding: 0; --fx-border-radius: 0; + -fx-padding: 0; + -fx-border-radius: 0; } .modal-overlay-comp { --fx-border-radius: 0; --fx-background-radius: 0; + -fx-border-radius: 0; + -fx-background-radius: 0; } .modal-overlay-comp .titled-pane > * { --fx-border-radius: 0; + -fx-border-radius: 0; } .modal-overlay-comp .titled-pane > * { --fx-background-radius: 0; + -fx-background-radius: 0; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/named-choice-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/named-choice-comp.css index b63b9275b..bf1937c57 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/named-choice-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/named-choice-comp.css @@ -1,8 +1,8 @@ -.named-store-choice,.named-source-choice { --fx-border-width: 1px; --fx-border-color:-color-accent-fg; --fx-background-color: transparent; --fx-border-radius: 4px; --fx-padding: 2px; --fx-background-radius: 4px; +.named-store-choice, .named-source-choice { + -fx-border-width: 1px; + -fx-border-color: -color-accent-fg; + -fx-background-color: transparent; + -fx-border-radius: 4px; + -fx-padding: 2px; + -fx-background-radius: 4px; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css index 3603aafa3..ae298c5f5 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css @@ -1,17 +1,17 @@ - .scroll-bar:vertical { - -fx-pref-width: 0.3em; +.scroll-bar:vertical { + -fx-pref-width: 0.3em; -fx-padding: 0.3em 0 0.3em 0; - -fx-background-color: transparent; - } + -fx-background-color: transparent; +} - .scroll-bar:horizontal { - -fx-pref-height: 0.3em; - } +.scroll-bar:horizontal { + -fx-pref-height: 0.3em; +} .scroll-pane { -fx-background-insets: 0; -fx-padding: 0; - -fx-background-color: transparent; + -fx-background-color: transparent; } .scroll-pane:focused { diff --git a/app/src/main/resources/io/xpipe/app/resources/style/section-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/section-comp.css index 1e1916f89..9bc8f7283 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/section-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/section-comp.css @@ -1,19 +1,19 @@ .title-header { --fx-font-size: 1.2em; --fx-padding: 15px 0 3px 0; + -fx-font-size: 1.2em; + -fx-padding: 15px 0 3px 0; } .choice-pane-comp { --fx-spacing: 7px; + -fx-spacing: 7px; } .options-comp .name { --fx-padding: 9px 0 0 0; --fx-font-size: 1.1em; + -fx-padding: 9px 0 0 0; + -fx-font-size: 1.1em; } .options-comp .description { --fx-opacity: 0.75; + -fx-opacity: 0.75; } .options-comp .long-description { diff --git a/app/src/main/resources/io/xpipe/app/resources/style/sidebar-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/sidebar-comp.css index 619fec830..b5fd8549b 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/sidebar-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/sidebar-comp.css @@ -1,32 +1,32 @@ .sidebar-comp { - -fx-border-width: 0 0 0 1px; --fx-border-color: -color-border-default; --fx-padding: 0; + -fx-border-width: 0 0 0 1px; + -fx-border-color: -color-border-default; + -fx-padding: 0; -fx-background-insets: 0; } .sidebar-comp .icon-button-comp, .sidebar-comp .button { --fx-background-radius: 0; --fx-background-insets: 0; --fx-background-color: -color-neutral-subtle; + -fx-background-radius: 0; + -fx-background-insets: 0; + -fx-background-color: -color-neutral-subtle; } .sidebar-comp .button:disabled { --fx-opacity: 1.0; + -fx-opacity: 1.0; } .sidebar-comp .icon-button-comp:hover, .sidebar-comp .icon-button-comp:focused { --fx-background-color: -color-neutral-muted; + -fx-background-color: -color-neutral-muted; } .sidebar-comp .icon-button-comp:selected { --fx-background-color: -color-neutral-muted; + -fx-background-color: -color-neutral-muted; } .sidebar-comp .icon-button-comp { - -fx-padding: 1.1em; + -fx-padding: 1.1em; } -.sidebar-comp .icon-button-comp .vbox { --fx-spacing: 0.5em; +.sidebar-comp .icon-button-comp .vbox { + -fx-spacing: 0.5em; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css index 7731818a8..c0850be58 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/store-entry-comp.css @@ -8,28 +8,31 @@ /* Grid */ .store-entry-grid .date, .store-entry-grid .summary { --fx-text-fill: -color-fg-muted; + -fx-text-fill: -color-fg-muted; } .store-entry-grid:failed .jfx-text-field { --fx-text-fill: #ee4829; + -fx-text-fill: #ee4829; } .store-entry-grid:incomplete .name { --fx-text-fill: #ee4829; + -fx-text-fill: #ee4829; } + .store-entry-grid:incomplete .summary { --fx-text-fill: #ee4829; + -fx-text-fill: #ee4829; } + .store-entry-grid:incomplete .information { --fx-text-fill: #ee4829; + -fx-text-fill: #ee4829; } + .store-entry-grid:incomplete .icon { --fx-opacity: 0.5; + -fx-opacity: 0.5; } .store-entry-grid .icon { --fx-background-color: -color-bg-overlay; + -fx-background-color: -color-bg-overlay; -fx-background-radius: 5px; } @@ -38,18 +41,18 @@ } .store-entry-grid { --fx-padding: 6px 6px 6px 6px; + -fx-padding: 6px 6px 6px 6px; } .store-entry-grid.dense { --fx-padding: 1px 6px 1px 6px; + -fx-padding: 1px 6px 1px 6px; } /* Entry */ .store-entry-comp { --fx-border-color: transparent; --fx-background-color: transparent; + -fx-border-color: transparent; + -fx-background-color: transparent; -fx-background-radius: 4px; } @@ -58,7 +61,7 @@ } .store-entry-comp:hover:armed { --fx-background-color: derive(-color-neutral-muted, 25%); + -fx-background-color: derive(-color-neutral-muted, 25%); } .store-entry-comp:hover, .store-entry-comp:focused { @@ -66,49 +69,49 @@ } .store-entry-comp .button-bar, .store-entry-comp .dropdown-comp { --fx-opacity: 0.65; + -fx-opacity: 0.65; } .store-entry-comp:hover .button-bar, .store-entry-comp:hover .dropdown-comp { --fx-opacity: 1.0; + -fx-opacity: 1.0; } -.expand-button:hover,.expand-button:focused { --fx-background-color: -color-neutral-muted; +.expand-button:hover, .expand-button:focused { + -fx-background-color: -color-neutral-muted; } .expand-button:disabled { --fx-opacity: 0.2; + -fx-opacity: 0.2; } .root:pretty .store-entry-comp .button-bar, .root:pretty .store-entry-comp .dropdown-comp { --fx-effect: dropshadow(three-pass-box, -color-shadow-default, 2px, 0.25, 0, 1); + -fx-effect: dropshadow(three-pass-box, -color-shadow-default, 2px, 0.25, 0, 1); } .store-entry-comp .button-bar .button { --fx-padding: 6px; + -fx-padding: 6px; } /* Section */ .store-entry-section-comp .separator { --fx-padding: 0 12px 0 35px; --fx-border-insets: 0px; + -fx-padding: 0 12px 0 35px; + -fx-border-insets: 0px; } .store-entry-section-comp > .content { --fx-padding: 5px 0 5px 25px; + -fx-padding: 5px 0 5px 25px; } .store-entry-section-comp .separator .line { --fx-padding: 0; --fx-border-insets: 0px; --fx-background-color: -color-border-subtle; --fx-pref-height: 1; + -fx-padding: 0; + -fx-border-insets: 0px; + -fx-background-color: -color-border-subtle; + -fx-pref-height: 1; } .root:pretty .top > .store-entry-section-comp { --fx-effect: dropshadow(three-pass-box, -color-shadow-default, 2px, 0.5, 0, 1); + -fx-effect: dropshadow(three-pass-box, -color-shadow-default, 2px, 0.5, 0, 1); } .store-entry-section-comp:root { @@ -128,7 +131,7 @@ } .store-entry-section-comp .list-box-view-comp .content { --fx-spacing: 0.2em; + -fx-spacing: 0.2em; } .store-entry-section-comp.none { diff --git a/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css b/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css index 1c03dd923..c470676c7 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/store-mini-section.css @@ -96,7 +96,7 @@ .store-section-mini-comp:top { -fx-border-radius: 4 0 0 4; - -fx-border-width: 1 1 1 1; + -fx-border-width: 1 1 1 1; -fx-border-color: -color-border-default; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/style.css b/app/src/main/resources/io/xpipe/app/resources/style/style.css index 07ce369cc..402d6995b 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/style.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/style.css @@ -32,35 +32,35 @@ } .scan-list { --fx-background-radius: 4px; - -fx-border-width: 0.05em; --fx-border-radius: 4px; --fx-padding: 1em; --fx-background-color: -color-bg-default; --fx-border-color: -color-neutral-emphasis; + -fx-background-radius: 4px; + -fx-border-width: 0.05em; + -fx-border-radius: 4px; + -fx-padding: 1em; + -fx-background-color: -color-bg-default; + -fx-border-color: -color-neutral-emphasis; } .text { - -fx-font-smoothing-type: gray; + -fx-font-smoothing-type: gray; } .radio-button { --fx-background-color:transparent; + -fx-background-color: transparent; } .icon-button-comp { - -fx-padding: 0.05em; + -fx-padding: 0.05em; } .scroll-pane { --fx-background-color:transparent; + -fx-background-color: transparent; } .root:light .loading-comp { - -fx-background-color: rgba(100,100,100,0.5); + -fx-background-color: rgba(100, 100, 100, 0.5); } .root:dark .loading-comp { - -fx-background-color: rgba(0,0,0,0.5); + -fx-background-color: rgba(0, 0, 0, 0.5); } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/third-party.css b/app/src/main/resources/io/xpipe/app/resources/style/third-party.css index 0a146edd9..c8a9803e0 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/third-party.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/third-party.css @@ -3,8 +3,9 @@ } .third-party-dependency-list-comp .titled-pane { --fx-background-color: transparent; + -fx-background-color: transparent; } + .titled-pane .content { - -fx-padding: 0em ; - } + -fx-padding: 0em; +} diff --git a/app/src/main/resources/io/xpipe/app/resources/style/tooltip.css b/app/src/main/resources/io/xpipe/app/resources/style/tooltip.css index 3cabe868e..d8439608b 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/tooltip.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/tooltip.css @@ -1,3 +1,3 @@ .fancy-tooltip { --fx-opacity: 1; + -fx-opacity: 1; } \ No newline at end of file diff --git a/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-dark.css b/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-dark.css index 7573083e7..8e961a873 100644 --- a/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-dark.css +++ b/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-dark.css @@ -1,24 +1,24 @@ html { - font-family: Roboto; + font-family: Roboto; } .markdown-body { - color-scheme: dark; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - padding: 0 1em 1em 1em; - color: #c9d1d9; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 14px; - line-height: 1.5; - word-wrap: break-word; + color-scheme: dark; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + margin: 0; + padding: 0 1em 1em 1em; + color: #c9d1d9; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 14px; + line-height: 1.5; + word-wrap: break-word; } .markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; } .markdown-body h1:hover .anchor .octicon-link:before, @@ -27,219 +27,219 @@ html { .markdown-body h4:hover .anchor .octicon-link:before, .markdown-body h5:hover .anchor .octicon-link:before, .markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); + width: 16px; + height: 16px; + content: ' '; + display: inline-block; + background-color: currentColor; + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); } .markdown-body details, .markdown-body figcaption, .markdown-body figure { - display: block; + display: block; } .markdown-body summary { - display: list-item; + display: list-item; } .markdown-body [hidden] { - display: none !important; + display: none !important; } .markdown-body a { - background-color: transparent; - color: #58a6ff; - text-decoration: none; + background-color: transparent; + color: #58a6ff; + text-decoration: none; } .markdown-body abbr[title] { - border-bottom: none; - text-decoration: underline dotted; + border-bottom: none; + text-decoration: underline dotted; } .markdown-body b, .markdown-body strong { - font-weight: 600; + font-weight: 600; } .markdown-body dfn { - font-style: italic; + font-style: italic; } .markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid #21262d; + margin: .67em 0; + font-weight: 600; + padding-bottom: .3em; + font-size: 2em; + border-bottom: 1px solid #21262d; } .markdown-body mark { - background-color: rgba(187,128,9,0.15); - color: #c9d1d9; + background-color: rgba(187, 128, 9, 0.15); + color: #c9d1d9; } .markdown-body small { - font-size: 90%; + font-size: 90%; } .markdown-body sub, .markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } .markdown-body sub { - bottom: -0.25em; + bottom: -0.25em; } .markdown-body sup { - top: -0.5em; + top: -0.5em; } .markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; - background-color: #0d1117; + border-style: none; + max-width: 100%; + box-sizing: content-box; + background-color: #0d1117; } .markdown-body code, .markdown-body kbd, .markdown-body pre, .markdown-body samp { - font-family: monospace; - font-size: 1em; + font-family: monospace; + font-size: 1em; } .markdown-body figure { - margin: 1em 40px; + margin: 1em 40px; } .markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid #21262d; - height: .25em; - padding: 0; - margin: 24px 0; - background-color: #30363d; - border: 0; + box-sizing: content-box; + overflow: hidden; + background: transparent; + border-bottom: 1px solid #21262d; + height: .25em; + padding: 0; + margin: 24px 0; + background-color: #30363d; + border: 0; } .markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; + font: inherit; + margin: 0; + overflow: visible; + font-family: inherit; + font-size: inherit; + line-height: inherit; } .markdown-body [type=button], .markdown-body [type=reset], .markdown-body [type=submit] { - -webkit-appearance: button; + -webkit-appearance: button; } .markdown-body [type=checkbox], .markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; + box-sizing: border-box; + padding: 0; } .markdown-body [type=number]::-webkit-inner-spin-button, .markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; + height: auto; } .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } .markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; + color: inherit; + opacity: .54; } .markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; + -webkit-appearance: button; + font: inherit; } .markdown-body a:hover { - text-decoration: underline; + text-decoration: underline; } .markdown-body ::placeholder { - color: #6e7681; - opacity: 1; + color: #6e7681; + opacity: 1; } .markdown-body hr::before { - display: table; - content: ""; + display: table; + content: ""; } .markdown-body hr::after { - display: table; - clear: both; - content: ""; + display: table; + clear: both; + content: ""; } .markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; + border-spacing: 0; + border-collapse: collapse; + display: block; + width: max-content; + max-width: 100%; + overflow: auto; } .markdown-body td, .markdown-body th { - padding: 0; + padding: 0; } .markdown-body details summary { - cursor: pointer; + cursor: pointer; } -.markdown-body details:not([open])>*:not(summary) { - display: none !important; +.markdown-body details:not([open]) > *:not(summary) { + display: none !important; } .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid #58a6ff; - outline-offset: -2px; - box-shadow: none; + outline: 2px solid #58a6ff; + outline-offset: -2px; + box-shadow: none; } .markdown-body a:focus:not(:focus-visible), .markdown-body [role=button]:focus:not(:focus-visible), .markdown-body input[type=radio]:focus:not(:focus-visible), .markdown-body input[type=checkbox]:focus:not(:focus-visible) { - outline: solid 1px transparent; + outline: solid 1px transparent; } .markdown-body a:focus-visible, .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid #58a6ff; - outline-offset: -2px; - box-shadow: none; + outline: 2px solid #58a6ff; + outline-offset: -2px; + box-shadow: none; } .markdown-body a:not([class]):focus, @@ -248,21 +248,21 @@ html { .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus, .markdown-body input[type=checkbox]:focus-visible { - outline-offset: 0; + outline-offset: 0; } .markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - line-height: 10px; - color: #c9d1d9; - vertical-align: middle; - background-color: #161b22; - border: solid 1px rgba(110,118,129,0.4); - border-bottom-color: rgba(110,118,129,0.4); - border-radius: 6px; - box-shadow: inset 0 -1px 0 rgba(110,118,129,0.4); + display: inline-block; + padding: 3px 5px; + font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + line-height: 10px; + color: #c9d1d9; + vertical-align: middle; + background-color: #161b22; + border: solid 1px rgba(110, 118, 129, 0.4); + border-bottom-color: rgba(110, 118, 129, 0.4); + border-radius: 6px; + box-shadow: inset 0 -1px 0 rgba(110, 118, 129, 0.4); } .markdown-body h1, @@ -271,141 +271,141 @@ html { .markdown-body h4, .markdown-body h5, .markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; } .markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid #21262d; + font-weight: 600; + padding-bottom: .3em; + font-size: 1.5em; + border-bottom: 1px solid #21262d; } .markdown-body h3 { - font-weight: 600; - font-size: 1.25em; + font-weight: 600; + font-size: 1.25em; } .markdown-body h4 { - font-weight: 600; - font-size: 1em; + font-weight: 600; + font-size: 1em; } .markdown-body h5 { - font-weight: 600; - font-size: .875em; + font-weight: 600; + font-size: .875em; } .markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #8b949e; + font-weight: 600; + font-size: .85em; + color: #8b949e; } .markdown-body p { - margin-top: 0; - margin-bottom: 10px; + margin-top: 0; + margin-bottom: 10px; } .markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #8b949e; - border-left: .25em solid #30363d; + margin: 0; + padding: 0 1em; + color: #8b949e; + border-left: .25em solid #30363d; } .markdown-body ul, .markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; + margin-top: 0; + margin-bottom: 0; + padding-left: 2em; } .markdown-body ol ol, .markdown-body ul ol { - list-style-type: lower-roman; + list-style-type: lower-roman; } .markdown-body ul ul ol, .markdown-body ul ol ol, .markdown-body ol ul ol, .markdown-body ol ol ol { - list-style-type: lower-alpha; + list-style-type: lower-alpha; } .markdown-body dd { - margin-left: 0; + margin-left: 0; } .markdown-body tt, .markdown-body code, .markdown-body samp { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + font-size: 12px; } .markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - word-wrap: normal; + margin-top: 0; + margin-bottom: 0; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + font-size: 12px; + word-wrap: normal; } .markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; + display: inline-block; + overflow: visible !important; + vertical-align: text-bottom; + fill: currentColor; } .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - appearance: none; + margin: 0; + -webkit-appearance: none; + appearance: none; } .markdown-body::before { - display: table; - content: ""; + display: table; + content: ""; } .markdown-body::after { - display: table; - clear: both; - content: ""; + display: table; + clear: both; + content: ""; } -.markdown-body>*:first-child { - margin-top: 0 !important; +.markdown-body > *:first-child { + margin-top: 0 !important; } -.markdown-body>*:last-child { - margin-bottom: 0 !important; +.markdown-body > *:last-child { + margin-bottom: 0 !important; } .markdown-body a:not([href]) { - color: inherit; - text-decoration: none; + color: inherit; + text-decoration: none; } .markdown-body .absent { - color: #f85149; + color: #f85149; } .markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; } .markdown-body .anchor:focus { - outline: none; + outline: none; } .markdown-body p, @@ -416,16 +416,16 @@ html { .markdown-body table, .markdown-body pre, .markdown-body details { - margin-top: 0; - margin-bottom: 16px; + margin-top: 0; + margin-bottom: 16px; } -.markdown-body blockquote>:first-child { - margin-top: 0; +.markdown-body blockquote > :first-child { + margin-top: 0; } -.markdown-body blockquote>:last-child { - margin-bottom: 0; +.markdown-body blockquote > :last-child { + margin-bottom: 0; } .markdown-body h1 .octicon-link, @@ -434,9 +434,9 @@ html { .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: #c9d1d9; - vertical-align: middle; - visibility: hidden; + color: #c9d1d9; + vertical-align: middle; + visibility: hidden; } .markdown-body h1:hover .anchor, @@ -445,7 +445,7 @@ html { .markdown-body h4:hover .anchor, .markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor { - text-decoration: none; + text-decoration: none; } .markdown-body h1:hover .anchor .octicon-link, @@ -454,7 +454,7 @@ html { .markdown-body h4:hover .anchor .octicon-link, .markdown-body h5:hover .anchor .octicon-link, .markdown-body h6:hover .anchor .octicon-link { - visibility: visible; + visibility: visible; } .markdown-body h1 tt, @@ -469,8 +469,8 @@ html { .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; + padding: 0 .2em; + font-size: inherit; } .markdown-body summary h1, @@ -479,7 +479,7 @@ html { .markdown-body summary h4, .markdown-body summary h5, .markdown-body summary h6 { - display: inline-block; + display: inline-block; } .markdown-body summary h1 .anchor, @@ -488,371 +488,371 @@ html { .markdown-body summary h4 .anchor, .markdown-body summary h5 .anchor, .markdown-body summary h6 .anchor { - margin-left: -40px; + margin-left: -40px; } .markdown-body summary h1, .markdown-body summary h2 { - padding-bottom: 0; - border-bottom: 0; + padding-bottom: 0; + border-bottom: 0; } .markdown-body ul.no-list, .markdown-body ol.no-list { - padding: 0; - list-style-type: none; + padding: 0; + list-style-type: none; } .markdown-body ol[type=a] { - list-style-type: lower-alpha; + list-style-type: lower-alpha; } .markdown-body ol[type=A] { - list-style-type: upper-alpha; + list-style-type: upper-alpha; } .markdown-body ol[type=i] { - list-style-type: lower-roman; + list-style-type: lower-roman; } .markdown-body ol[type=I] { - list-style-type: upper-roman; + list-style-type: upper-roman; } .markdown-body ol[type="1"] { - list-style-type: decimal; + list-style-type: decimal; } -.markdown-body div>ol:not([type]) { - list-style-type: decimal; +.markdown-body div > ol:not([type]) { + list-style-type: decimal; } .markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; + margin-top: 0; + margin-bottom: 0; } -.markdown-body li>p { - margin-top: 16px; +.markdown-body li > p { + margin-top: 16px; } -.markdown-body li+li { - margin-top: .25em; +.markdown-body li + li { + margin-top: .25em; } .markdown-body dl { - padding: 0; + padding: 0; } .markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: 600; + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: 600; } .markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; + padding: 0 16px; + margin-bottom: 16px; } .markdown-body table th { - font-weight: 600; + font-weight: 600; } .markdown-body table th, .markdown-body table td { - padding: 6px 13px; - border: 1px solid #30363d; + padding: 6px 13px; + border: 1px solid #30363d; } .markdown-body table tr { - background-color: #0d1117; - border-top: 1px solid #21262d; + background-color: #0d1117; + border-top: 1px solid #21262d; } .markdown-body table tr:nth-child(2n) { - background-color: #161b22; + background-color: #161b22; } .markdown-body table img { - background-color: transparent; + background-color: transparent; } .markdown-body img[align=right] { - padding-left: 20px; + padding-left: 20px; } .markdown-body img[align=left] { - padding-right: 20px; + padding-right: 20px; } .markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; + max-width: none; + vertical-align: text-top; + background-color: transparent; } .markdown-body span.frame { - display: block; - overflow: hidden; + display: block; + overflow: hidden; } -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #30363d; +.markdown-body span.frame > span { + display: block; + float: left; + width: auto; + padding: 7px; + margin: 13px 0 0; + overflow: hidden; + border: 1px solid #30363d; } .markdown-body span.frame span img { - display: block; - float: left; + display: block; + float: left; } .markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #c9d1d9; + display: block; + padding: 5px 0 0; + clear: both; + color: #c9d1d9; } .markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; + display: block; + overflow: hidden; + clear: both; } -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; +.markdown-body span.align-center > span { + display: block; + margin: 13px auto 0; + overflow: hidden; + text-align: center; } .markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; + margin: 0 auto; + text-align: center; } .markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; + display: block; + overflow: hidden; + clear: both; } -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; +.markdown-body span.align-right > span { + display: block; + margin: 13px 0 0; + overflow: hidden; + text-align: right; } .markdown-body span.align-right span img { - margin: 0; - text-align: right; + margin: 0; + text-align: right; } .markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; + display: block; + float: left; + margin-right: 13px; + overflow: hidden; } .markdown-body span.float-left span { - margin: 13px 0 0; + margin: 13px 0 0; } .markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; + display: block; + float: right; + margin-left: 13px; + overflow: hidden; } -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; +.markdown-body span.float-right > span { + display: block; + margin: 13px auto 0; + overflow: hidden; + text-align: right; } .markdown-body code, .markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - white-space: break-spaces; - background-color: rgba(110,118,129,0.4); - border-radius: 6px; + padding: .2em .4em; + margin: 0; + font-size: 85%; + white-space: break-spaces; + background-color: rgba(110, 118, 129, 0.4); + border-radius: 6px; } .markdown-body code br, .markdown-body tt br { - display: none; + display: none; } .markdown-body del code { - text-decoration: inherit; + text-decoration: inherit; } .markdown-body samp { - font-size: 85%; + font-size: 85%; } .markdown-body pre code { - font-size: 100%; + font-size: 100%; } -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; +.markdown-body pre > code { + padding: 0; + margin: 0; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; } .markdown-body .highlight { - margin-bottom: 16px; + margin-bottom: 16px; } .markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; + margin-bottom: 0; + word-break: normal; } .markdown-body .highlight pre, .markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #161b22; - border-radius: 6px; + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #161b22; + border-radius: 6px; } .markdown-body pre code, .markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; } .markdown-body .csv-data td, .markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; + padding: 5px; + overflow: hidden; + font-size: 12px; + line-height: 1; + text-align: left; + white-space: nowrap; } .markdown-body .csv-data .blob-num { - padding: 10px 8px 9px; - text-align: right; - background: #0d1117; - border: 0; + padding: 10px 8px 9px; + text-align: right; + background: #0d1117; + border: 0; } .markdown-body .csv-data tr { - border-top: 0; + border-top: 0; } .markdown-body .csv-data th { - font-weight: 600; - background: #161b22; - border-top: 0; + font-weight: 600; + background: #161b22; + border-top: 0; } .markdown-body [data-footnote-ref]::before { - content: "["; + content: "["; } .markdown-body [data-footnote-ref]::after { - content: "]"; + content: "]"; } .markdown-body .footnotes { - font-size: 12px; - color: #8b949e; - border-top: 1px solid #30363d; + font-size: 12px; + color: #8b949e; + border-top: 1px solid #30363d; } .markdown-body .footnotes ol { - padding-left: 16px; + padding-left: 16px; } .markdown-body .footnotes ol ul { - display: inline-block; - padding-left: 16px; - margin-top: 16px; + display: inline-block; + padding-left: 16px; + margin-top: 16px; } .markdown-body .footnotes li { - position: relative; + position: relative; } .markdown-body .footnotes li:target::before { - position: absolute; - top: -8px; - right: -8px; - bottom: -8px; - left: -24px; - pointer-events: none; - content: ""; - border: 2px solid #1f6feb; - border-radius: 6px; + position: absolute; + top: -8px; + right: -8px; + bottom: -8px; + left: -24px; + pointer-events: none; + content: ""; + border: 2px solid #1f6feb; + border-radius: 6px; } .markdown-body .footnotes li:target { - color: #c9d1d9; + color: #c9d1d9; } .markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; + font-family: monospace; } .markdown-body .pl-c { - color: #8b949e; + color: #8b949e; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: #79c0ff; + color: #79c0ff; } .markdown-body .pl-e, .markdown-body .pl-en { - color: #d2a8ff; + color: #d2a8ff; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: #c9d1d9; + color: #c9d1d9; } .markdown-body .pl-ent { - color: #7ee787; + color: #7ee787; } .markdown-body .pl-k { - color: #ff7b72; + color: #ff7b72; } .markdown-body .pl-s, @@ -862,150 +862,150 @@ html { .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: #a5d6ff; + color: #a5d6ff; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: #ffa657; + color: #ffa657; } .markdown-body .pl-bu { - color: #f85149; + color: #f85149; } .markdown-body .pl-ii { - color: #f0f6fc; - background-color: #8e1519; + color: #f0f6fc; + background-color: #8e1519; } .markdown-body .pl-c2 { - color: #f0f6fc; - background-color: #b62324; + color: #f0f6fc; + background-color: #b62324; } .markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #7ee787; + font-weight: bold; + color: #7ee787; } .markdown-body .pl-ml { - color: #f2cc60; + color: #f2cc60; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { - font-weight: bold; - color: #1f6feb; + font-weight: bold; + color: #1f6feb; } .markdown-body .pl-mi { - font-style: italic; - color: #c9d1d9; + font-style: italic; + color: #c9d1d9; } .markdown-body .pl-mb { - font-weight: bold; - color: #c9d1d9; + font-weight: bold; + color: #c9d1d9; } .markdown-body .pl-md { - color: #ffdcd7; - background-color: #67060c; + color: #ffdcd7; + background-color: #67060c; } .markdown-body .pl-mi1 { - color: #aff5b4; - background-color: #033a16; + color: #aff5b4; + background-color: #033a16; } .markdown-body .pl-mc { - color: #ffdfb6; - background-color: #5a1e02; + color: #ffdfb6; + background-color: #5a1e02; } .markdown-body .pl-mi2 { - color: #c9d1d9; - background-color: #1158c7; + color: #c9d1d9; + background-color: #1158c7; } .markdown-body .pl-mdr { - font-weight: bold; - color: #d2a8ff; + font-weight: bold; + color: #d2a8ff; } .markdown-body .pl-ba { - color: #8b949e; + color: #8b949e; } .markdown-body .pl-sg { - color: #484f58; + color: #484f58; } .markdown-body .pl-corl { - text-decoration: underline; - color: #a5d6ff; + text-decoration: underline; + color: #a5d6ff; } .markdown-body g-emoji { - display: inline-block; - min-width: 1ch; - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; + display: inline-block; + min-width: 1ch; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1em; + font-style: normal !important; + font-weight: 400; + line-height: 1; + vertical-align: -0.075em; } .markdown-body g-emoji img { - width: 1em; - height: 1em; + width: 1em; + height: 1em; } .markdown-body .task-list-item { - list-style-type: none; + list-style-type: none; } .markdown-body .task-list-item label { - font-weight: 400; + font-weight: 400; } .markdown-body .task-list-item.enabled label { - cursor: pointer; + cursor: pointer; } -.markdown-body .task-list-item+.task-list-item { - margin-top: 4px; +.markdown-body .task-list-item + .task-list-item { + margin-top: 4px; } .markdown-body .task-list-item .handle { - display: none; + display: none; } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.4em; - vertical-align: middle; + margin: 0 .2em .25em -1.4em; + vertical-align: middle; } .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; + margin: 0 -1.6em .25em .2em; } .markdown-body .contains-task-list { - position: relative; + position: relative; } .markdown-body .contains-task-list:hover .task-list-item-convert-container, .markdown-body .contains-task-list:focus-within .task-list-item-convert-container { - display: block; - width: auto; - height: 24px; - overflow: visible; - clip: auto; + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; } .markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); + filter: invert(50%); } diff --git a/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-light.css b/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-light.css index ddc288030..67a561093 100644 --- a/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-light.css +++ b/app/src/main/resources/io/xpipe/app/resources/web/github-markdown-light.css @@ -1,24 +1,24 @@ html { - font-family: Roboto; + font-family: Roboto; } .markdown-body { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - padding: 1em; - color: #24292f; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: 14px; - line-height: 1.5; - word-wrap: break-word; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + margin: 0; + padding: 1em; + color: #24292f; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 14px; + line-height: 1.5; + word-wrap: break-word; } .markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; } .markdown-body h1:hover .anchor .octicon-link:before, @@ -27,226 +27,226 @@ html { .markdown-body h4:hover .anchor .octicon-link:before, .markdown-body h5:hover .anchor .octicon-link:before, .markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); + width: 16px; + height: 16px; + content: ' '; + display: inline-block; + background-color: currentColor; + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); } .markdown-body details, .markdown-body figcaption, .markdown-body figure { - display: block; + display: block; } .markdown-body summary { - display: list-item; + display: list-item; } .markdown-body [hidden] { - display: none !important; + display: none !important; } .markdown-body a { - background-color: transparent; - color: #0969da; - text-decoration: none; + background-color: transparent; + color: #0969da; + text-decoration: none; } .markdown-body a:active, .markdown-body a:hover { - outline-width: 0; + outline-width: 0; } .markdown-body abbr[title] { - border-bottom: none; - text-decoration: underline dotted; + border-bottom: none; + text-decoration: underline dotted; } .markdown-body b, .markdown-body strong { - font-weight: 600; + font-weight: 600; } .markdown-body dfn { - font-style: italic; + font-style: italic; } .markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid hsla(210,18%,87%,1); + margin: .67em 0; + font-weight: 600; + padding-bottom: .3em; + font-size: 2em; + border-bottom: 1px solid hsla(210, 18%, 87%, 1); } .markdown-body mark { - background-color: #fff8c5; - color: #24292f; + background-color: #fff8c5; + color: #24292f; } .markdown-body small { - font-size: 90%; + font-size: 90%; } .markdown-body sub, .markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } .markdown-body sub { - bottom: -0.25em; + bottom: -0.25em; } .markdown-body sup { - top: -0.5em; + top: -0.5em; } .markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; - background-color: #ffffff; + border-style: none; + max-width: 100%; + box-sizing: content-box; + background-color: #ffffff; } .markdown-body code, .markdown-body kbd, .markdown-body pre, .markdown-body samp { - font-family: monospace,monospace; - font-size: 1em; + font-family: monospace, monospace; + font-size: 1em; } .markdown-body figure { - margin: 1em 40px; + margin: 1em 40px; } .markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid hsla(210,18%,87%,1); - height: .25em; - padding: 0; - margin: 24px 0; - background-color: #d0d7de; - border: 0; + box-sizing: content-box; + overflow: hidden; + background: transparent; + border-bottom: 1px solid hsla(210, 18%, 87%, 1); + height: .25em; + padding: 0; + margin: 24px 0; + background-color: #d0d7de; + border: 0; } .markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; + font: inherit; + margin: 0; + overflow: visible; + font-family: inherit; + font-size: inherit; + line-height: inherit; } .markdown-body [type=button], .markdown-body [type=reset], .markdown-body [type=submit] { - -webkit-appearance: button; + -webkit-appearance: button; } .markdown-body [type=button]::-moz-focus-inner, .markdown-body [type=reset]::-moz-focus-inner, .markdown-body [type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; + border-style: none; + padding: 0; } .markdown-body [type=button]:-moz-focusring, .markdown-body [type=reset]:-moz-focusring, .markdown-body [type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; + outline: 1px dotted ButtonText; } .markdown-body [type=checkbox], .markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; + box-sizing: border-box; + padding: 0; } .markdown-body [type=number]::-webkit-inner-spin-button, .markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; + height: auto; } .markdown-body [type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; + -webkit-appearance: textfield; + outline-offset: -2px; } .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } .markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; + color: inherit; + opacity: .54; } .markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; + -webkit-appearance: button; + font: inherit; } .markdown-body a:hover { - text-decoration: underline; + text-decoration: underline; } .markdown-body hr::before { - display: table; - content: ""; + display: table; + content: ""; } .markdown-body hr::after { - display: table; - clear: both; - content: ""; + display: table; + clear: both; + content: ""; } .markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; + border-spacing: 0; + border-collapse: collapse; + display: block; + width: max-content; + max-width: 100%; + overflow: auto; } .markdown-body td, .markdown-body th { - padding: 0; + padding: 0; } .markdown-body details summary { - cursor: pointer; + cursor: pointer; } -.markdown-body details:not([open])>*:not(summary) { - display: none !important; +.markdown-body details:not([open]) > *:not(summary) { + display: none !important; } .markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - line-height: 10px; - color: #24292f; - vertical-align: middle; - background-color: #f6f8fa; - border: solid 1px rgba(175,184,193,0.2); - border-bottom-color: rgba(175,184,193,0.2); - border-radius: 6px; - box-shadow: inset 0 -1px 0 rgba(175,184,193,0.2); + display: inline-block; + padding: 3px 5px; + font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + line-height: 10px; + color: #24292f; + vertical-align: middle; + background-color: #f6f8fa; + border: solid 1px rgba(175, 184, 193, 0.2); + border-bottom-color: rgba(175, 184, 193, 0.2); + border-radius: 6px; + box-shadow: inset 0 -1px 0 rgba(175, 184, 193, 0.2); } .markdown-body h1, @@ -255,133 +255,133 @@ html { .markdown-body h4, .markdown-body h5, .markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; } .markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid hsla(210,18%,87%,1); + font-weight: 600; + padding-bottom: .3em; + font-size: 1.5em; + border-bottom: 1px solid hsla(210, 18%, 87%, 1); } .markdown-body h3 { - font-weight: 600; - font-size: 1.25em; + font-weight: 600; + font-size: 1.25em; } .markdown-body h4 { - font-weight: 600; - font-size: 1em; + font-weight: 600; + font-size: 1em; } .markdown-body h5 { - font-weight: 600; - font-size: .875em; + font-weight: 600; + font-size: .875em; } .markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #57606a; + font-weight: 600; + font-size: .85em; + color: #57606a; } .markdown-body p { - margin-top: 0; - margin-bottom: 10px; + margin-top: 0; + margin-bottom: 10px; } .markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #57606a; - border-left: .25em solid #d0d7de; + margin: 0; + padding: 0 1em; + color: #57606a; + border-left: .25em solid #d0d7de; } .markdown-body ul, .markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; + margin-top: 0; + margin-bottom: 0; + padding-left: 2em; } .markdown-body ol ol, .markdown-body ul ol { - list-style-type: lower-roman; + list-style-type: lower-roman; } .markdown-body ul ul ol, .markdown-body ul ol ol, .markdown-body ol ul ol, .markdown-body ol ol ol { - list-style-type: lower-alpha; + list-style-type: lower-alpha; } .markdown-body dd { - margin-left: 0; + margin-left: 0; } .markdown-body tt, .markdown-body code { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + font-size: 12px; } .markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - word-wrap: normal; + margin-top: 0; + margin-bottom: 0; + font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace; + font-size: 12px; + word-wrap: normal; } .markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; + display: inline-block; + overflow: visible !important; + vertical-align: text-bottom; + fill: currentColor; } .markdown-body ::placeholder { - color: #6e7781; - opacity: 1; + color: #6e7781; + opacity: 1; } .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - appearance: none; + margin: 0; + -webkit-appearance: none; + appearance: none; } .markdown-body .pl-c { - color: #6e7781; + color: #6e7781; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: #0550ae; + color: #0550ae; } .markdown-body .pl-e, .markdown-body .pl-en { - color: #8250df; + color: #8250df; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: #24292f; + color: #24292f; } .markdown-body .pl-ent { - color: #116329; + color: #116329; } .markdown-body .pl-k { - color: #cf222e; + color: #cf222e; } .markdown-body .pl-s, @@ -391,147 +391,147 @@ html { .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: #0a3069; + color: #0a3069; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: #953800; + color: #953800; } .markdown-body .pl-bu { - color: #82071e; + color: #82071e; } .markdown-body .pl-ii { - color: #f6f8fa; - background-color: #82071e; + color: #f6f8fa; + background-color: #82071e; } .markdown-body .pl-c2 { - color: #f6f8fa; - background-color: #cf222e; + color: #f6f8fa; + background-color: #cf222e; } .markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #116329; + font-weight: bold; + color: #116329; } .markdown-body .pl-ml { - color: #3b2300; + color: #3b2300; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { - font-weight: bold; - color: #0550ae; + font-weight: bold; + color: #0550ae; } .markdown-body .pl-mi { - font-style: italic; - color: #24292f; + font-style: italic; + color: #24292f; } .markdown-body .pl-mb { - font-weight: bold; - color: #24292f; + font-weight: bold; + color: #24292f; } .markdown-body .pl-md { - color: #82071e; - background-color: #FFEBE9; + color: #82071e; + background-color: #FFEBE9; } .markdown-body .pl-mi1 { - color: #116329; - background-color: #dafbe1; + color: #116329; + background-color: #dafbe1; } .markdown-body .pl-mc { - color: #953800; - background-color: #ffd8b5; + color: #953800; + background-color: #ffd8b5; } .markdown-body .pl-mi2 { - color: #eaeef2; - background-color: #0550ae; + color: #eaeef2; + background-color: #0550ae; } .markdown-body .pl-mdr { - font-weight: bold; - color: #8250df; + font-weight: bold; + color: #8250df; } .markdown-body .pl-ba { - color: #57606a; + color: #57606a; } .markdown-body .pl-sg { - color: #8c959f; + color: #8c959f; } .markdown-body .pl-corl { - text-decoration: underline; - color: #0a3069; + text-decoration: underline; + color: #0a3069; } .markdown-body [data-catalyst] { - display: block; + display: block; } .markdown-body g-emoji { - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1em; + font-style: normal !important; + font-weight: 400; + line-height: 1; + vertical-align: -0.075em; } .markdown-body g-emoji img { - width: 1em; - height: 1em; + width: 1em; + height: 1em; } .markdown-body::before { - display: table; - content: ""; + display: table; + content: ""; } .markdown-body::after { - display: table; - clear: both; - content: ""; + display: table; + clear: both; + content: ""; } -.markdown-body>*:first-child { - margin-top: 0 !important; +.markdown-body > *:first-child { + margin-top: 0 !important; } -.markdown-body>*:last-child { - margin-bottom: 0 !important; +.markdown-body > *:last-child { + margin-bottom: 0 !important; } .markdown-body a:not([href]) { - color: inherit; - text-decoration: none; + color: inherit; + text-decoration: none; } .markdown-body .absent { - color: #cf222e; + color: #cf222e; } .markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; } .markdown-body .anchor:focus { - outline: none; + outline: none; } .markdown-body p, @@ -542,24 +542,24 @@ html { .markdown-body table, .markdown-body pre, .markdown-body details { - margin-top: 0; - margin-bottom: 16px; + margin-top: 0; + margin-bottom: 16px; } -.markdown-body blockquote>:first-child { - margin-top: 0; +.markdown-body blockquote > :first-child { + margin-top: 0; } -.markdown-body blockquote>:last-child { - margin-bottom: 0; +.markdown-body blockquote > :last-child { + margin-bottom: 0; } -.markdown-body sup>a::before { - content: "["; +.markdown-body sup > a::before { + content: "["; } -.markdown-body sup>a::after { - content: "]"; +.markdown-body sup > a::after { + content: "]"; } .markdown-body h1 .octicon-link, @@ -568,9 +568,9 @@ html { .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: #24292f; - vertical-align: middle; - visibility: hidden; + color: #24292f; + vertical-align: middle; + visibility: hidden; } .markdown-body h1:hover .anchor, @@ -579,7 +579,7 @@ html { .markdown-body h4:hover .anchor, .markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor { - text-decoration: none; + text-decoration: none; } .markdown-body h1:hover .anchor .octicon-link, @@ -588,7 +588,7 @@ html { .markdown-body h4:hover .anchor .octicon-link, .markdown-body h5:hover .anchor .octicon-link, .markdown-body h6:hover .anchor .octicon-link { - visibility: visible; + visibility: visible; } .markdown-body h1 tt, @@ -603,343 +603,343 @@ html { .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; + padding: 0 .2em; + font-size: inherit; } .markdown-body ul.no-list, .markdown-body ol.no-list { - padding: 0; - list-style-type: none; + padding: 0; + list-style-type: none; } .markdown-body ol[type="1"] { - list-style-type: decimal; + list-style-type: decimal; } .markdown-body ol[type=a] { - list-style-type: lower-alpha; + list-style-type: lower-alpha; } .markdown-body ol[type=i] { - list-style-type: lower-roman; + list-style-type: lower-roman; } -.markdown-body div>ol:not([type]) { - list-style-type: decimal; +.markdown-body div > ol:not([type]) { + list-style-type: decimal; } .markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; + margin-top: 0; + margin-bottom: 0; } -.markdown-body li>p { - margin-top: 16px; +.markdown-body li > p { + margin-top: 16px; } -.markdown-body li+li { - margin-top: .25em; +.markdown-body li + li { + margin-top: .25em; } .markdown-body dl { - padding: 0; + padding: 0; } .markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: 600; + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: 600; } .markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; + padding: 0 16px; + margin-bottom: 16px; } .markdown-body table th { - font-weight: 600; + font-weight: 600; } .markdown-body table th, .markdown-body table td { - padding: 6px 13px; - border: 1px solid #d0d7de; + padding: 6px 13px; + border: 1px solid #d0d7de; } .markdown-body table tr { - background-color: #ffffff; - border-top: 1px solid hsla(210,18%,87%,1); + background-color: #ffffff; + border-top: 1px solid hsla(210, 18%, 87%, 1); } .markdown-body table tr:nth-child(2n) { - background-color: #f6f8fa; + background-color: #f6f8fa; } .markdown-body table img { - background-color: transparent; + background-color: transparent; } .markdown-body img[align=right] { - padding-left: 20px; + padding-left: 20px; } .markdown-body img[align=left] { - padding-right: 20px; + padding-right: 20px; } .markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; + max-width: none; + vertical-align: text-top; + background-color: transparent; } .markdown-body span.frame { - display: block; - overflow: hidden; + display: block; + overflow: hidden; } -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #d0d7de; +.markdown-body span.frame > span { + display: block; + float: left; + width: auto; + padding: 7px; + margin: 13px 0 0; + overflow: hidden; + border: 1px solid #d0d7de; } .markdown-body span.frame span img { - display: block; - float: left; + display: block; + float: left; } .markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #24292f; + display: block; + padding: 5px 0 0; + clear: both; + color: #24292f; } .markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; + display: block; + overflow: hidden; + clear: both; } -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; +.markdown-body span.align-center > span { + display: block; + margin: 13px auto 0; + overflow: hidden; + text-align: center; } .markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; + margin: 0 auto; + text-align: center; } .markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; + display: block; + overflow: hidden; + clear: both; } -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; +.markdown-body span.align-right > span { + display: block; + margin: 13px 0 0; + overflow: hidden; + text-align: right; } .markdown-body span.align-right span img { - margin: 0; - text-align: right; + margin: 0; + text-align: right; } .markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; + display: block; + float: left; + margin-right: 13px; + overflow: hidden; } .markdown-body span.float-left span { - margin: 13px 0 0; + margin: 13px 0 0; } .markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; + display: block; + float: right; + margin-left: 13px; + overflow: hidden; } -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; +.markdown-body span.float-right > span { + display: block; + margin: 13px auto 0; + overflow: hidden; + text-align: right; } .markdown-body code, .markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - background-color: rgba(175,184,193,0.2); - border-radius: 6px; + padding: .2em .4em; + margin: 0; + font-size: 85%; + background-color: rgba(175, 184, 193, 0.2); + border-radius: 6px; } .markdown-body code br, .markdown-body tt br { - display: none; + display: none; } .markdown-body del code { - text-decoration: inherit; + text-decoration: inherit; } .markdown-body pre code { - font-size: 100%; + font-size: 100%; } -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; +.markdown-body pre > code { + padding: 0; + margin: 0; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; } .markdown-body .highlight { - margin-bottom: 16px; + margin-bottom: 16px; } .markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; + margin-bottom: 0; + word-break: normal; } .markdown-body .highlight pre, .markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #f6f8fa; - border-radius: 6px; + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f6f8fa; + border-radius: 6px; } .markdown-body pre code, .markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; } .markdown-body .csv-data td, .markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; + padding: 5px; + overflow: hidden; + font-size: 12px; + line-height: 1; + text-align: left; + white-space: nowrap; } .markdown-body .csv-data .blob-num { - padding: 10px 8px 9px; - text-align: right; - background: #ffffff; - border: 0; + padding: 10px 8px 9px; + text-align: right; + background: #ffffff; + border: 0; } .markdown-body .csv-data tr { - border-top: 0; + border-top: 0; } .markdown-body .csv-data th { - font-weight: 600; - background: #f6f8fa; - border-top: 0; + font-weight: 600; + background: #f6f8fa; + border-top: 0; } .markdown-body .footnotes { - font-size: 12px; - color: #57606a; - border-top: 1px solid #d0d7de; + font-size: 12px; + color: #57606a; + border-top: 1px solid #d0d7de; } .markdown-body .footnotes ol { - padding-left: 16px; + padding-left: 16px; } .markdown-body .footnotes li { - position: relative; + position: relative; } .markdown-body .footnotes li:target::before { - position: absolute; - top: -8px; - right: -8px; - bottom: -8px; - left: -24px; - pointer-events: none; - content: ""; - border: 2px solid #0969da; - border-radius: 6px; + position: absolute; + top: -8px; + right: -8px; + bottom: -8px; + left: -24px; + pointer-events: none; + content: ""; + border: 2px solid #0969da; + border-radius: 6px; } .markdown-body .footnotes li:target { - color: #24292f; + color: #24292f; } .markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; + font-family: monospace; } .markdown-body .task-list-item { - list-style-type: none; + list-style-type: none; } .markdown-body .task-list-item label { - font-weight: 400; + font-weight: 400; } .markdown-body .task-list-item.enabled label { - cursor: pointer; + cursor: pointer; } -.markdown-body .task-list-item+.task-list-item { - margin-top: 3px; +.markdown-body .task-list-item + .task-list-item { + margin-top: 3px; } .markdown-body .task-list-item .handle { - display: none; + display: none; } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; - vertical-align: middle; + margin: 0 .2em .25em -1.6em; + vertical-align: middle; } .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; + margin: 0 -1.6em .25em .2em; } .markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); + filter: invert(50%); } diff --git a/beacon/src/main/java/io/xpipe/beacon/test/BeaconDaemonExtensionTest.java b/beacon/src/main/java/io/xpipe/beacon/test/BeaconDaemonExtensionTest.java index ca06e6bf6..f4fb6d973 100644 --- a/beacon/src/main/java/io/xpipe/beacon/test/BeaconDaemonExtensionTest.java +++ b/beacon/src/main/java/io/xpipe/beacon/test/BeaconDaemonExtensionTest.java @@ -11,7 +11,8 @@ public class BeaconDaemonExtensionTest { @BeforeAll public static void setup() throws Exception { JacksonMapper.initModularized(ModuleLayer.boot()); - BeaconDaemonController.start(OsType.getLocal().equals(OsType.WINDOWS) ? XPipeDaemonMode.TRAY : XPipeDaemonMode.BACKGROUND); + BeaconDaemonController.start( + OsType.getLocal().equals(OsType.WINDOWS) ? XPipeDaemonMode.TRAY : XPipeDaemonMode.BACKGROUND); } @AfterAll diff --git a/core/src/main/java/io/xpipe/core/store/ConnectionFileSystem.java b/core/src/main/java/io/xpipe/core/store/ConnectionFileSystem.java index 7290cdd02..e217ad459 100644 --- a/core/src/main/java/io/xpipe/core/store/ConnectionFileSystem.java +++ b/core/src/main/java/io/xpipe/core/store/ConnectionFileSystem.java @@ -27,7 +27,8 @@ public class ConnectionFileSystem implements FileSystem { @Override public long getFileSize(String file) throws Exception { - return Long.parseLong(shellControl.getShellDialect().queryFileSize(shellControl, file).readStdoutOrThrow()); + return Long.parseLong( + shellControl.getShellDialect().queryFileSize(shellControl, file).readStdoutOrThrow()); } @Override diff --git a/ext/base/src/main/java/io/xpipe/ext/base/browser/DeleteLinkAction.java b/ext/base/src/main/java/io/xpipe/ext/base/browser/DeleteLinkAction.java index 47489c049..47d316634 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/browser/DeleteLinkAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/browser/DeleteLinkAction.java @@ -12,16 +12,6 @@ import java.util.List; public class DeleteLinkAction implements LeafAction { - @Override - public boolean automaticallyResolveLinks() { - return false; - } - - @Override - public boolean isApplicable(OpenFileSystemModel model, List entries) { - return entries.stream().allMatch(browserEntry -> browserEntry.getRawFileEntry().getKind() == FileKind.LINK); - } - @Override public void execute(OpenFileSystemModel model, List entries) throws Exception { var toDelete = entries.stream().map(entry -> entry.getRawFileEntry()).toList(); @@ -43,4 +33,15 @@ public class DeleteLinkAction implements LeafAction { public String getName(OpenFileSystemModel model, List entries) { return "Delete link"; } + + @Override + public boolean isApplicable(OpenFileSystemModel model, List entries) { + return entries.stream() + .allMatch(browserEntry -> browserEntry.getRawFileEntry().getKind() == FileKind.LINK); + } + + @Override + public boolean automaticallyResolveLinks() { + return false; + } } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java index f688f5a7c..2b9cc54b5 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java @@ -114,7 +114,9 @@ public abstract class ScriptStore extends JacksonizedValue implements DataStore, .mapToInt(value -> value.get().getName().hashCode() + value.getStore().hashCode()) .sum(); - var targetDir = FileNames.join(ShellTemp.getUserSpecificTempDataDirectory(proc,"scripts"), proc.getShellDialect().getId()); + var targetDir = FileNames.join( + ShellTemp.getUserSpecificTempDataDirectory(proc, "scripts"), + proc.getShellDialect().getId()); var hashFile = FileNames.join(targetDir, "hash"); var d = proc.getShellDialect(); if (d.createFileExistsCommand(proc, hashFile).executeAndCheck()) {