├── i18n └── .gitignore ├── phoenicis-dist ├── .gitignore └── src │ ├── flatpak │ ├── .gitignore │ ├── phoenicis_16.png │ ├── phoenicis_22.png │ ├── phoenicis_24.png │ ├── phoenicis_256.png │ ├── phoenicis_32.png │ ├── phoenicis_48.png │ ├── phoenicis_64.png │ ├── ld.so.conf │ └── org.phoenicis.playonlinux.desktop │ ├── launchers │ └── phoenicis │ ├── resources │ ├── phoenicis.png │ ├── phoenicis-16.png │ ├── phoenicis-32.png │ ├── Phoenicis PlayOnMac.icns │ └── Phoenicis.desktop │ └── scripts │ └── copyright ├── docs ├── .gitignore ├── _docs │ ├── _defaults.md │ ├── Developers │ │ ├── coding-rules.md │ │ ├── translation.md │ │ ├── update-documentation.md │ │ └── packages.md │ └── Users │ │ ├── shortcuts.md │ │ ├── installation.md │ │ └── run.md ├── siteicon.png ├── touch-icon.png ├── apple-touch-icon.png ├── images │ ├── favicon.png │ ├── themes │ │ ├── apps.png │ │ ├── logo.png │ │ ├── console.png │ │ ├── footer.png │ │ ├── header.png │ │ ├── leftPane.png │ │ ├── menuPane.png │ │ ├── miniature.png │ │ ├── rightPane.png │ │ ├── searchBar.png │ │ ├── containers.png │ │ ├── leftBarTitle.png │ │ ├── leftButton.png │ │ ├── listChooser.png │ │ ├── presentation.png │ │ ├── appDescription.png │ │ ├── wineToolButton.png │ │ ├── mainWindowScene.png │ │ ├── wineToolCaption.png │ │ ├── appDescriptionTitle.png │ │ └── appDescriptionMiniature.png │ ├── intellij-idea-run.png │ └── menu.svg ├── 404.md ├── Gemfile ├── robots.txt ├── .sass-cache │ └── 0002de66b5ca522fb2af29d0f29231f0e66ffac4 │ │ ├── _code.scssc │ │ ├── _layout.scssc │ │ ├── _mixins.scssc │ │ ├── _tables.scssc │ │ ├── _normalize.scssc │ │ ├── _pygments.scssc │ │ └── _typography.scssc ├── _plugins │ └── replace-regex.rb ├── _sass │ ├── _tables.scss │ ├── _mixins.scss │ └── _code.scss ├── css │ └── main.scss ├── search.html └── LICENSE ├── phoenicis-cli └── src │ ├── test │ └── resources │ │ └── org │ │ └── phoenicis │ │ └── cli │ │ └── testRepository │ │ └── Applications │ │ ├── Graphics │ │ ├── Photofiltre │ │ │ ├── miniatures │ │ │ │ └── empty │ │ │ ├── application.json │ │ │ └── Online │ │ │ │ ├── script.json │ │ │ │ └── script.js │ │ └── category.json │ │ └── type.json │ └── main │ └── java │ └── org │ └── phoenicis │ └── cli │ └── scriptui │ └── CliMessageSender.java ├── crowdin.yml ├── phoenicis-repository └── src │ ├── test │ ├── resources │ │ └── org │ │ │ └── phoenicis │ │ │ └── repository │ │ │ └── repositoryTest │ │ │ └── Applications │ │ │ ├── Development │ │ │ ├── Notepad++ │ │ │ │ ├── resources │ │ │ │ │ └── resourceName.sh │ │ │ │ ├── miniatures │ │ │ │ │ └── main.png │ │ │ │ ├── v7.2.2 │ │ │ │ │ ├── script.json │ │ │ │ │ └── script.js │ │ │ │ └── application.json │ │ │ ├── category.json │ │ │ └── icon.png │ │ │ ├── type.json │ │ │ └── Graphics │ │ │ ├── category.json │ │ │ ├── icon.png │ │ │ └── Photofiltre │ │ │ ├── miniatures │ │ │ └── main.png │ │ │ └── Online │ │ │ ├── script.json │ │ │ └── script.js │ └── java │ │ └── org │ │ └── phoenicis │ │ └── repository │ │ └── types │ │ └── NullRepositoryTest.java │ └── main │ ├── resources │ └── org │ │ └── phoenicis │ │ └── repository │ │ └── Functions │ │ └── category.json │ └── java │ └── org │ └── phoenicis │ └── repository │ ├── RepositoryLocationLoader.java │ ├── RepositoryException.java │ └── DynamicRepositoryLocationLoader.java ├── phoenicis-tools └── src │ ├── test │ ├── resources │ │ └── org │ │ │ └── phoenicis │ │ │ └── tools │ │ │ ├── lnk │ │ │ ├── xiii.lnk │ │ │ └── teenagent.lnk │ │ │ └── archive │ │ │ ├── test4.zip │ │ │ ├── test6.exe │ │ │ ├── pol.txt.bz2 │ │ │ ├── pol.txt.gz │ │ │ ├── test2.tar.gz │ │ │ ├── test5.tar.xz │ │ │ └── test3.tar.bz2 │ └── java │ │ └── org │ │ └── phoenicis │ │ └── tools │ │ └── lnk │ │ └── LnkParserTest.java │ └── main │ └── java │ └── org │ └── phoenicis │ └── tools │ ├── processes │ └── ProcessUtils.java │ ├── system │ ├── opener │ │ └── Opener.java │ ├── terminal │ │ └── TerminalOpener.java │ └── OperatingSystemFetcher.java │ ├── archive │ ├── cab │ │ ├── Cabheader.java │ │ ├── CompressionType.java │ │ └── CabException.java │ └── ArchiveException.java │ ├── http │ └── DownloadException.java │ ├── gpg │ └── SignatureException.java │ └── files │ └── FreeSpaceFetcher.java ├── phoenicis-win32 └── src │ ├── test │ └── resources │ │ └── org │ │ └── phoenicis │ │ └── win32 │ │ └── pe │ │ └── winecfg.exe │ └── main │ └── java │ └── org │ └── phoenicis │ └── win32 │ ├── registry │ ├── AbstractValueType.java │ ├── RemoveValueType.java │ ├── DwordValueType.java │ ├── StringValueType.java │ ├── ExpandableValueType.java │ ├── MultiStringValueType.java │ └── AbstractRegistryNode.java │ ├── pe │ ├── rsrc │ │ ├── ImageResourceDataEntry.java │ │ ├── ImageResourceNamedDirectoryEntry.java │ │ └── ImageResourceDirectoryEntry.java │ └── ImageDataDirectory.java │ ├── Word.java │ └── DWord.java ├── phoenicis-library └── src │ └── main │ ├── resources │ └── org │ │ └── phoenicis │ │ └── library │ │ ├── phoenicis.png │ │ └── defaultMiniature.png │ └── java │ └── org │ └── phoenicis │ └── library │ └── ShortcutReader.java ├── .gitignore ├── phoenicis-javafx └── src │ ├── main │ ├── resources │ │ └── org │ │ │ └── phoenicis │ │ │ └── javafx │ │ │ ├── views │ │ │ ├── scriptui │ │ │ │ ├── spin │ │ │ │ │ ├── 1.png │ │ │ │ │ ├── 2.png │ │ │ │ │ ├── 3.png │ │ │ │ │ ├── 4.png │ │ │ │ │ ├── 5.png │ │ │ │ │ ├── 6.png │ │ │ │ │ ├── 7.png │ │ │ │ │ ├── 8.png │ │ │ │ │ ├── 9.png │ │ │ │ │ ├── 10.png │ │ │ │ │ ├── 11.png │ │ │ │ │ └── 12.png │ │ │ │ ├── defaultTopImage.png │ │ │ │ ├── defaultLeftPlayOnBSD.jpg │ │ │ │ ├── defaultLeftPlayOnMac.jpg │ │ │ │ └── defaultLeftPlayOnLinux.jpg │ │ │ └── common │ │ │ │ ├── phoenicis.png │ │ │ │ ├── phoenicis32.png │ │ │ │ ├── roboto │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ ├── Roboto-Black.ttf │ │ │ │ ├── Roboto-Italic.ttf │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ ├── Roboto-BlackItalic.ttf │ │ │ │ ├── Roboto-BoldItalic.ttf │ │ │ │ ├── Roboto-LightItalic.ttf │ │ │ │ ├── Roboto-MediumItalic.ttf │ │ │ │ └── Roboto-ThinItalic.ttf │ │ │ │ └── mavenpro │ │ │ │ ├── MavenPro-Black.ttf │ │ │ │ ├── MavenPro-Bold.ttf │ │ │ │ ├── MavenPro-Medium.ttf │ │ │ │ └── MavenPro-Regular.ttf │ │ │ ├── themes │ │ │ ├── dark │ │ │ │ └── description.less │ │ │ ├── mint-x │ │ │ │ └── description.less │ │ │ ├── standard │ │ │ │ ├── icons │ │ │ │ │ ├── filter │ │ │ │ │ │ ├── os.png │ │ │ │ │ │ ├── patch.png │ │ │ │ │ │ ├── testing.png │ │ │ │ │ │ └── commercial.png │ │ │ │ │ └── mainwindow │ │ │ │ │ │ ├── apps │ │ │ │ │ │ ├── all.png │ │ │ │ │ │ ├── custom.png │ │ │ │ │ │ ├── games.png │ │ │ │ │ │ ├── office.png │ │ │ │ │ │ ├── other.png │ │ │ │ │ │ ├── graphics.png │ │ │ │ │ │ ├── internet.png │ │ │ │ │ │ ├── science.png │ │ │ │ │ │ ├── development.png │ │ │ │ │ │ └── multimedia.png │ │ │ │ │ │ ├── refresh.png │ │ │ │ │ │ ├── engines │ │ │ │ │ │ └── wine.png │ │ │ │ │ │ ├── library │ │ │ │ │ │ ├── edit.png │ │ │ │ │ │ ├── play.png │ │ │ │ │ │ ├── stop.png │ │ │ │ │ │ ├── console.png │ │ │ │ │ │ ├── remove.png │ │ │ │ │ │ ├── script.png │ │ │ │ │ │ └── configure.png │ │ │ │ │ │ ├── window-close.png │ │ │ │ │ │ ├── containers │ │ │ │ │ │ ├── cmd.png │ │ │ │ │ │ ├── regedit.png │ │ │ │ │ │ ├── repair.png │ │ │ │ │ │ ├── taskmgr.png │ │ │ │ │ │ ├── winecfg.png │ │ │ │ │ │ ├── container.png │ │ │ │ │ │ ├── rebootPrefix.png │ │ │ │ │ │ ├── uninstaller.png │ │ │ │ │ │ ├── killProcesses.png │ │ │ │ │ │ └── runExecutable.png │ │ │ │ │ │ ├── settings │ │ │ │ │ │ ├── about.png │ │ │ │ │ │ ├── network.png │ │ │ │ │ │ ├── settings.png │ │ │ │ │ │ ├── repository.png │ │ │ │ │ │ └── userInterface.png │ │ │ │ │ │ ├── general │ │ │ │ │ │ ├── edit-clear.png │ │ │ │ │ │ ├── view-list-icons.png │ │ │ │ │ │ ├── view-list-compact.png │ │ │ │ │ │ ├── view-list-details.png │ │ │ │ │ │ ├── view-list-icons-selected.png │ │ │ │ │ │ ├── view-list-compact-selected.png │ │ │ │ │ │ └── view-list-details-selected.png │ │ │ │ │ │ └── installations │ │ │ │ │ │ └── apps.png │ │ │ │ └── description.less │ │ │ ├── breezeDark │ │ │ │ ├── icons │ │ │ │ │ └── mainwindow │ │ │ │ │ │ ├── apps │ │ │ │ │ │ ├── all.png │ │ │ │ │ │ ├── custom.png │ │ │ │ │ │ ├── games.png │ │ │ │ │ │ ├── office.png │ │ │ │ │ │ ├── other.png │ │ │ │ │ │ ├── graphics.png │ │ │ │ │ │ ├── internet.png │ │ │ │ │ │ ├── science.png │ │ │ │ │ │ ├── development.png │ │ │ │ │ │ └── multimedia.png │ │ │ │ │ │ ├── refresh.png │ │ │ │ │ │ ├── containers │ │ │ │ │ │ ├── cmd.png │ │ │ │ │ │ ├── regedit.png │ │ │ │ │ │ ├── repair.png │ │ │ │ │ │ ├── taskmgr.png │ │ │ │ │ │ ├── winecfg.png │ │ │ │ │ │ ├── container.png │ │ │ │ │ │ ├── killProcesses.png │ │ │ │ │ │ ├── rebootPrefix.png │ │ │ │ │ │ ├── runExecutable.png │ │ │ │ │ │ └── uninstaller.png │ │ │ │ │ │ ├── engines │ │ │ │ │ │ └── wine.png │ │ │ │ │ │ ├── library │ │ │ │ │ │ ├── play.png │ │ │ │ │ │ ├── remove.png │ │ │ │ │ │ ├── script.png │ │ │ │ │ │ ├── stop.png │ │ │ │ │ │ ├── console.png │ │ │ │ │ │ └── configure.png │ │ │ │ │ │ ├── settings │ │ │ │ │ │ ├── about.png │ │ │ │ │ │ ├── network.png │ │ │ │ │ │ ├── repository.png │ │ │ │ │ │ ├── settings.png │ │ │ │ │ │ └── userInterface.png │ │ │ │ │ │ ├── window-close.png │ │ │ │ │ │ └── general │ │ │ │ │ │ ├── edit-clear.png │ │ │ │ │ │ ├── view-list-icons.png │ │ │ │ │ │ ├── view-list-compact.png │ │ │ │ │ │ └── view-list-details.png │ │ │ │ └── description.less │ │ │ └── unity │ │ │ │ └── description.less │ │ │ └── components │ │ │ └── common │ │ │ └── widgets │ │ │ └── utils │ │ │ ├── wineMiniature.png │ │ │ ├── defaultMiniature.png │ │ │ └── containerMiniature.png │ └── java │ │ └── org │ │ └── phoenicis │ │ └── javafx │ │ ├── components │ │ ├── library │ │ │ ├── utils │ │ │ │ └── LibraryDetailsPanelType.java │ │ │ ├── panelstates │ │ │ │ ├── ShortcutCreation.java │ │ │ │ ├── ShortcutEditing.java │ │ │ │ └── ShortcutInformation.java │ │ │ └── control │ │ │ │ └── LibrarySidebarToggleGroup.java │ │ ├── common │ │ │ ├── panelstates │ │ │ │ ├── None.java │ │ │ │ └── OpenDetailsPanel.java │ │ │ ├── widgets │ │ │ │ └── utils │ │ │ │ │ └── ListWidgetType.java │ │ │ ├── control │ │ │ │ ├── ControlBase.java │ │ │ │ └── TabIndicator.java │ │ │ └── skin │ │ │ │ └── TabIndicatorSkin.java │ │ ├── setting │ │ │ ├── control │ │ │ │ ├── NetworkPanel.java │ │ │ │ ├── FileAssociationsPanel.java │ │ │ │ └── SettingsSidebar.java │ │ │ ├── skin │ │ │ │ ├── NetworkPanelSkin.java │ │ │ │ ├── FileAssociationsPanelSkin.java │ │ │ │ └── SettingsSidebarSkin.java │ │ │ └── utils │ │ │ │ └── SettingsSidebarItem.java │ │ ├── container │ │ │ ├── panelstates │ │ │ │ └── ContainerInformation.java │ │ │ └── control │ │ │ │ └── ContainersSidebarToggleGroup.java │ │ ├── installation │ │ │ ├── panelstates │ │ │ │ └── Installation.java │ │ │ └── control │ │ │ │ └── InstallationsSidebarToggleGroup.java │ │ ├── application │ │ │ ├── panelstates │ │ │ │ └── ApplicationInformation.java │ │ │ └── control │ │ │ │ └── ApplicationSidebarToggleGroup.java │ │ └── engine │ │ │ └── control │ │ │ └── EnginesSidebarToggleGroup.java │ │ ├── views │ │ ├── mainwindow │ │ │ ├── console │ │ │ │ ├── ConsoleTabFactory.java │ │ │ │ └── ConsoleTextType.java │ │ │ └── settings │ │ │ │ └── addrepository │ │ │ │ └── RepositoryDetailsPanel.java │ │ └── common │ │ │ └── ColumnConstraintsWithPercentage.java │ │ ├── controller │ │ └── settings │ │ │ └── SettingsController.java │ │ └── themes │ │ ├── Theme.java │ │ └── ThemeConfiguration.java │ └── test │ └── resources │ └── logback-test.xml ├── .github ├── issue_template.md ├── workflows │ ├── merge-me.yml │ ├── linter.yml │ └── update-translations.yml └── dependabot.yml ├── phoenicis-scripts └── src │ └── main │ ├── java │ └── org │ │ └── phoenicis │ │ └── scripts │ │ ├── Installer.java │ │ ├── wizard │ │ ├── BrowserWizard.java │ │ ├── LogWizard.java │ │ ├── Wizard.java │ │ ├── ProgressWizard.java │ │ ├── WineWizard.java │ │ └── ChoiceWizard.java │ │ ├── ui │ │ ├── InstallationType.java │ │ ├── BrowserControl.java │ │ ├── MenuItem.java │ │ ├── UiConfiguration.java │ │ ├── UiMessageSender.java │ │ └── UiQuestionFactory.java │ │ ├── exceptions │ │ ├── ScriptNotFoundException.java │ │ ├── IncludeException.java │ │ ├── CircularIncludeException.java │ │ └── ScriptException.java │ │ ├── TriFunction.java │ │ ├── engine │ │ ├── injectors │ │ │ ├── LocalisationInjector.java │ │ │ ├── ScriptUtilitiesInjector.java │ │ │ └── EngineInjector.java │ │ └── ScriptEngineType.java │ │ └── session │ │ └── InteractiveScriptSession.java │ └── resources │ └── org │ └── phoenicis │ └── scripts │ └── engine │ └── injectors │ └── utils.js ├── .gitpod.yml ├── .gitpod.dockerfile ├── phoenicis-engines └── src │ └── main │ └── java │ └── org │ └── phoenicis │ └── engines │ ├── EngineTool.java │ ├── Verb.java │ └── EngineSetting.java ├── settings └── version-rules.xml ├── phoenicis-configuration └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── phoenicis │ │ │ └── configuration │ │ │ ├── security │ │ │ └── Safe.java │ │ │ ├── localisation │ │ │ ├── ParameterName.java │ │ │ ├── TranslatableBuilder.java │ │ │ ├── Translatable.java │ │ │ ├── TranslatableCreator.java │ │ │ ├── Translate.java │ │ │ └── PropertiesResourceBundle.java │ │ │ └── PropertyReader.java │ ├── resources │ │ └── logback.xml │ └── resources-filtered │ │ └── phoenicis.properties │ └── test │ └── java │ └── org │ └── phoenicis │ └── configuration │ └── localisation │ ├── SimpleTranslatableObject.java │ ├── CollectionsOfTranslatableObject.java │ └── TreeTranslatableObject.java ├── phoenicis-entities └── src │ ├── main │ └── java │ │ └── org │ │ └── phoenicis │ │ └── entities │ │ ├── ProgressState.java │ │ └── Architecture.java │ └── test │ └── java │ └── org.phoenicis.entities │ └── ArchitectureTest.java ├── phoenicis-tests └── src │ └── main │ └── java │ └── org │ └── phoenicis │ └── tests │ └── TestException.java ├── phoenicis-multithreading └── src │ └── main │ └── java │ └── org │ └── phoenicis │ └── multithreading │ └── functional │ └── NullRunnable.java ├── .eslintrc.yml └── phoenicis-settings └── src └── main └── java └── org └── phoenicis └── settings ├── Setting.java └── SettingsConfiguration.java /i18n/.gitignore: -------------------------------------------------------------------------------- 1 | /*.mo 2 | /*.po.~* 3 | -------------------------------------------------------------------------------- /phoenicis-dist/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | /_site/ 2 | /Gemfile.lock -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/.gitignore: -------------------------------------------------------------------------------- 1 | /.flatpak-builder 2 | /build-dir 3 | -------------------------------------------------------------------------------- /docs/_docs/_defaults.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 3 | category: 4 | order: 1 5 | toc: false 6 | --- 7 | -------------------------------------------------------------------------------- /docs/siteicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/siteicon.png -------------------------------------------------------------------------------- /docs/touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/touch-icon.png -------------------------------------------------------------------------------- /docs/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/favicon.png -------------------------------------------------------------------------------- /docs/images/themes/apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/apps.png -------------------------------------------------------------------------------- /docs/images/themes/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/logo.png -------------------------------------------------------------------------------- /phoenicis-dist/src/launchers/phoenicis: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /usr/share/phoenicis/PhoenicisPlayOnLinux "$@" 4 | -------------------------------------------------------------------------------- /docs/images/themes/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/console.png -------------------------------------------------------------------------------- /docs/images/themes/footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/footer.png -------------------------------------------------------------------------------- /docs/images/themes/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/header.png -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/Graphics/Photofiltre/miniatures/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/images/themes/leftPane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/leftPane.png -------------------------------------------------------------------------------- /docs/images/themes/menuPane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/menuPane.png -------------------------------------------------------------------------------- /docs/images/themes/miniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/miniature.png -------------------------------------------------------------------------------- /docs/images/themes/rightPane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/rightPane.png -------------------------------------------------------------------------------- /docs/images/themes/searchBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/searchBar.png -------------------------------------------------------------------------------- /docs/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Not Found 3 | permalink: /404.html 4 | sitemap: false 5 | --- 6 | 7 | This page doesn't exist! 8 | -------------------------------------------------------------------------------- /docs/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'github-pages', group: :jekyll_plugins 4 | 5 | gem "html-proofer" 6 | -------------------------------------------------------------------------------- /docs/images/intellij-idea-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/intellij-idea-run.png -------------------------------------------------------------------------------- /docs/images/themes/containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/containers.png -------------------------------------------------------------------------------- /docs/images/themes/leftBarTitle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/leftBarTitle.png -------------------------------------------------------------------------------- /docs/images/themes/leftButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/leftButton.png -------------------------------------------------------------------------------- /docs/images/themes/listChooser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/listChooser.png -------------------------------------------------------------------------------- /docs/images/themes/presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/presentation.png -------------------------------------------------------------------------------- /docs/images/themes/appDescription.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/appDescription.png -------------------------------------------------------------------------------- /docs/images/themes/wineToolButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/wineToolButton.png -------------------------------------------------------------------------------- /docs/images/themes/mainWindowScene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/mainWindowScene.png -------------------------------------------------------------------------------- /docs/images/themes/wineToolCaption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/wineToolCaption.png -------------------------------------------------------------------------------- /docs/images/themes/appDescriptionTitle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/appDescriptionTitle.png -------------------------------------------------------------------------------- /docs/robots.txt: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | sitemap: false 4 | --- 5 | User-agent: * 6 | Sitemap: {{ site.url }}/sitemap.xml 7 | Disallow: /search/ -------------------------------------------------------------------------------- /phoenicis-dist/src/resources/phoenicis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/resources/phoenicis.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_16.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_22.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_24.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_256.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_32.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_48.png -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/phoenicis_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/flatpak/phoenicis_64.png -------------------------------------------------------------------------------- /phoenicis-dist/src/resources/phoenicis-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/resources/phoenicis-16.png -------------------------------------------------------------------------------- /phoenicis-dist/src/resources/phoenicis-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/resources/phoenicis-32.png -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | commit_message: '[Crowdin] Update translations' 2 | files: 3 | - source: /i18n/*.pot 4 | translation: /i18n/%two_letters_code%.po 5 | -------------------------------------------------------------------------------- /docs/images/themes/appDescriptionMiniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/images/themes/appDescriptionMiniature.png -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/type.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Applications", 3 | "id": "applications" 4 | } 5 | -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/ld.so.conf: -------------------------------------------------------------------------------- 1 | include /run/flatpak/ld.so.conf.d/app-*-org.freedesktop.Platform.GL32.*.conf 2 | /app/lib32 3 | /app/lib/i386-linux-gnu 4 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/resources/resourceName.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash -------------------------------------------------------------------------------- /phoenicis-dist/src/resources/Phoenicis PlayOnMac.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-dist/src/resources/Phoenicis PlayOnMac.icns -------------------------------------------------------------------------------- /phoenicis-repository/src/main/resources/org/phoenicis/repository/Functions/category.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Functions", 3 | "id": "functions", 4 | "type": "FUNCTIONS" 5 | } -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/type.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Applications", 3 | "id": "applications" 4 | } 5 | -------------------------------------------------------------------------------- /phoenicis-dist/src/scripts/copyright: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | 3 | Files: * 4 | Copyright: 2011 PlayOnLinux Team 5 | License: LGPL-3.0 6 | -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/lnk/xiii.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/lnk/xiii.lnk -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_code.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_code.scssc -------------------------------------------------------------------------------- /phoenicis-win32/src/test/resources/org/phoenicis/win32/pe/winecfg.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-win32/src/test/resources/org/phoenicis/win32/pe/winecfg.exe -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_layout.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_layout.scssc -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_mixins.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_mixins.scssc -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_tables.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_tables.scssc -------------------------------------------------------------------------------- /phoenicis-library/src/main/resources/org/phoenicis/library/phoenicis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-library/src/main/resources/org/phoenicis/library/phoenicis.png -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/category.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Graphics", 3 | "id": "graphics", 4 | "type": "FUNCTIONS" 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test4.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test4.zip -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test6.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test6.exe -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/lnk/teenagent.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/lnk/teenagent.lnk -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | bin/ 3 | target/ 4 | .DS_Store 5 | .idea 6 | 7 | # Eclipse 8 | .project 9 | .classpath 10 | .settings/ 11 | *.class 12 | .pydevproject 13 | 14 | # formatter 15 | .cache/ 16 | -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_normalize.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_normalize.scssc -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_pygments.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_pygments.scssc -------------------------------------------------------------------------------- /docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_typography.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/docs/.sass-cache/0002de66b5ca522fb2af29d0f29231f0e66ffac4/_typography.scssc -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/pol.txt.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/pol.txt.bz2 -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/pol.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/pol.txt.gz -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test2.tar.gz -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test5.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test5.tar.xz -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/Graphics/category.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Graphics", 3 | "id": "applications.graphics", 4 | "type": "INSTALLERS" 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/category.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Development", 3 | "id": "development", 4 | "type": "INSTALLERS" 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test3.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-tools/src/test/resources/org/phoenicis/tools/archive/test3.tar.bz2 -------------------------------------------------------------------------------- /phoenicis-library/src/main/resources/org/phoenicis/library/defaultMiniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-library/src/main/resources/org/phoenicis/library/defaultMiniature.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/1.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/2.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/3.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/4.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/5.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/6.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/7.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/8.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/9.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/phoenicis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/phoenicis.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/phoenicis32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/phoenicis32.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/10.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/11.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/spin/12.png -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/Graphics/Photofiltre/application.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Photofiltre", 3 | "id": "applications.graphics.photofiltre", 4 | "description": "" 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/dark/description.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Roboto light"; 3 | font-size: 0.9em; 4 | } 5 | 6 | b { 7 | font-family: "Roboto"; 8 | font-weight: normal; 9 | } -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/mint-x/description.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Roboto light"; 3 | font-size: 0.9em; 4 | } 5 | 6 | b { 7 | font-family: "Roboto"; 8 | font-weight: normal; 9 | } -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/os.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/os.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultTopImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultTopImage.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/patch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/patch.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Black.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /docs/images/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/testing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/testing.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Black.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Bold.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnBSD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnBSD.jpg -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnMac.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnMac.jpg -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/description.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Roboto light"; 3 | font-size: 0.9em; 4 | } 5 | 6 | b { 7 | font-family: "Roboto"; 8 | font-weight: normal; 9 | } 10 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/commercial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/filter/commercial.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Medium.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/mavenpro/MavenPro-Regular.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/common/roboto/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnLinux.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/views/scriptui/defaultLeftPlayOnLinux.jpg -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/all.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/refresh.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/all.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/refresh.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/custom.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/games.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/games.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/office.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/office.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/other.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/wineMiniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/wineMiniature.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/custom.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/games.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/games.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/office.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/office.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/other.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/graphics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/graphics.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/internet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/internet.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/science.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/science.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/engines/wine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/engines/wine.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/edit.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/play.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/stop.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/window-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/window-close.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/defaultMiniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/defaultMiniature.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/graphics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/graphics.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/internet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/internet.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/science.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/science.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/cmd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/cmd.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/engines/wine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/engines/wine.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/play.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/remove.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/script.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/stop.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/about.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/window-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/window-close.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/development.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/multimedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/apps/multimedia.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/cmd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/cmd.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/console.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/remove.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/script.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/about.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/network.png -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/icon.png -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | ### Expected behavior 2 | 3 | ### Actual behavior 4 | 5 | ### Steps to reproduce 6 | 7 | ### System information 8 | * software version (git revision) of phoenicis and scripts repositories 9 | * used operating system 10 | * used Java version 11 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/containerMiniature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/components/common/widgets/utils/containerMiniature.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/development.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/multimedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/apps/multimedia.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/console.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/network.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/regedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/regedit.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/repair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/repair.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/taskmgr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/taskmgr.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/winecfg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/winecfg.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/edit-clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/edit-clear.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/installations/apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/installations/apps.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/library/configure.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/settings.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/library/utils/LibraryDetailsPanelType.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.library.utils; 2 | 3 | public enum LibraryDetailsPanelType { 4 | ShortcutDetails, ShortcutCreation, ShortcutEditing, Closed; 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/regedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/regedit.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/repair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/repair.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/taskmgr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/taskmgr.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/winecfg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/winecfg.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/edit-clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/edit-clear.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/library/configure.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/repository.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/settings.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/container.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/repository.png -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/icon.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/container.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/rebootPrefix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/rebootPrefix.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/uninstaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/uninstaller.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-icons.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/userInterface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/settings/userInterface.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/panelstates/None.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.panelstates; 2 | 3 | /** 4 | * Indicator to close/hide the currently open details panel 5 | */ 6 | public class None implements OpenDetailsPanel { 7 | } 8 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/killProcesses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/killProcesses.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/rebootPrefix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/rebootPrefix.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/runExecutable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/runExecutable.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/uninstaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/containers/uninstaller.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-icons.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/userInterface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/settings/userInterface.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/killProcesses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/killProcesses.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/runExecutable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/containers/runExecutable.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-compact.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-details.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-compact.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/icons/mainwindow/general/view-list-details.png -------------------------------------------------------------------------------- /phoenicis-dist/src/resources/Phoenicis.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Encoding=UTF-8 4 | Name=Phoenicis PlayOnLinux 5 | GenericName=Phoenicis PlayOnLinux 6 | Comment=Phoenicis 7 | Type=Application 8 | Exec=env GTK_CSD=0 phoenicis %F 9 | Icon=phoenicis 10 | Categories=Game;Utility; 11 | -------------------------------------------------------------------------------- /docs/_plugins/replace-regex.rb: -------------------------------------------------------------------------------- 1 | module Jekyll 2 | module RegexFilter 3 | def replace_regex(input, regex_string, replace_string) 4 | regex = Regexp.new regex_string 5 | input.gsub regex, replace_string 6 | end 7 | end 8 | end 9 | 10 | Liquid::Template.register_filter(Jekyll::RegexFilter) 11 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-icons-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-icons-selected.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/unity/description.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Roboto light"; 3 | font-size: 0.9em; 4 | color: #6b6b6a; 5 | background-color: #f2f1f0; 6 | } 7 | 8 | b { 9 | font-family: "Roboto"; 10 | font-weight: normal; 11 | } -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-compact-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-compact-selected.png -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-details-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/standard/icons/mainwindow/general/view-list-details-selected.png -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/Installer.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts; 2 | 3 | /** 4 | * interface which must be implemented by all installers in Javascript 5 | */ 6 | public interface Installer { 7 | /** 8 | * runs the installer 9 | */ 10 | void go(); 11 | } 12 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | image: 2 | file: .gitpod.dockerfile 3 | ports: 4 | - port: 6080 5 | onOpen: open-preview 6 | - port: 5900 7 | onOpen: ignore 8 | - port: 3343 9 | onOpen: ignore 10 | tasks: 11 | - init: > 12 | mvn install 13 | command: > 14 | cd phoenicis-javafx/ && 15 | mvn exec:java 16 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/miniatures/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/miniatures/main.png -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/Photofiltre/miniatures/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PhoenicisOrg/phoenicis/HEAD/phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/Photofiltre/miniatures/main.png -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/Photofiltre/Online/script.json: -------------------------------------------------------------------------------- 1 | { 2 | "scriptName": "Online", 3 | "id": "online", 4 | "compatibleOperatingSystems": ["MACOSX", "LINUX"], 5 | "testingOperatingSystems": [], 6 | "free": true, 7 | "requiresPatch": false 8 | } 9 | -------------------------------------------------------------------------------- /docs/_docs/Developers/coding-rules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Coding rules" 3 | category: Developers 4 | order: 10 5 | toc: true 6 | --- 7 | 8 | ### naming conventions 9 | * Use camel case for variables and methods. 10 | 11 | ### "this" keyword 12 | * Use `this` for all member variables. 13 | * Do **not** use `this` for methods. 14 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/v7.2.2/script.json: -------------------------------------------------------------------------------- 1 | { 2 | "scriptName": "v.7.2.2", 3 | "id": "v_7_2_2", 4 | "compatibleOperatingSystems": ["MACOSX", "LINUX"], 5 | "testingOperatingSystems": [], 6 | "free": true, 7 | "requiresPatch": false 8 | } 9 | -------------------------------------------------------------------------------- /docs/_sass/_tables.scss: -------------------------------------------------------------------------------- 1 | table { 2 | width: 100%; 3 | margin-bottom: 1.75em; 4 | } 5 | 6 | tr { 7 | border-bottom: 1px solid #EEE; 8 | } 9 | 10 | tr:nth-child(even) { 11 | background: #fcfcfc; 12 | } 13 | 14 | td, th { 15 | padding: 8px; 16 | text-align: left; 17 | } 18 | 19 | th { 20 | padding-bottom: 4px; 21 | } 22 | -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/Graphics/Photofiltre/Online/script.json: -------------------------------------------------------------------------------- 1 | { 2 | "scriptName": "Online", 3 | "id": "applications.graphics.photofiltre.online", 4 | "compatibleOperatingSystems": ["MACOSX", "LINUX"], 5 | "testingOperatingSystems": [], 6 | "free": true, 7 | "requiresPatch": false 8 | } 9 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/resources/org/phoenicis/javafx/themes/breezeDark/description.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Roboto light"; 3 | font-size: 0.9em; 4 | color: #eff0f1; 5 | background-color: #232629; 6 | } 7 | 8 | a { 9 | color: #3daee9; 10 | } 11 | 12 | b { 13 | font-family: "Roboto"; 14 | font-weight: normal; 15 | } -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/BrowserWizard.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.wizard; 2 | 3 | import org.phoenicis.scripts.ui.BrowserControl; 4 | 5 | /** 6 | * SetupWizard that supports browser creation 7 | */ 8 | public interface BrowserWizard { 9 | BrowserControl createBrowser(String textToShow); 10 | } 11 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/panelstates/OpenDetailsPanel.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.panelstates; 2 | 3 | /** 4 | * An interface that must be implemented by all indicator objects that specify a shown/opened details panel and its 5 | * content 6 | */ 7 | public interface OpenDetailsPanel { 8 | // nothing 9 | } 10 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/widgets/utils/ListWidgetType.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.widgets.utils; 2 | 3 | /** 4 | * An enum containing all implemented list widget types 5 | * 6 | * @author marc 7 | * @since 15.05.17 8 | */ 9 | public enum ListWidgetType { 10 | ICONS_LIST, COMPACT_LIST, DETAILS_LIST 11 | } 12 | -------------------------------------------------------------------------------- /.gitpod.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gitpod/workspace-full-vnc:latest 2 | 3 | RUN dpkg --add-architecture i386 4 | RUN apt-get update && apt-get -y install cabextract libxext6 libxext6:i386 libfreetype6 libfreetype6:i386 5 | 6 | 7 | USER gitpod 8 | 9 | # activate java 11. It's already installed in the base image. 10 | RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh && sdk install java" 11 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %msg%n 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/library/panelstates/ShortcutCreation.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.library.panelstates; 2 | 3 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 4 | 5 | /** 6 | * Indicator to open the "Shortcut Creation" details panel 7 | */ 8 | public class ShortcutCreation implements OpenDetailsPanel { 9 | } 10 | -------------------------------------------------------------------------------- /phoenicis-dist/src/flatpak/org.phoenicis.playonlinux.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Phoenicis PlayOnLinux 3 | Comment=Graphical front-end for Wine 4 | Exec=phoenicis-playonlinux %U 5 | StartupNotify=true 6 | Terminal=false 7 | Type=Application 8 | MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut; 9 | Icon=org.phoenicis.playonlinux 10 | Categories=Game;Utility 11 | Keywords=Phoenicis;PlayOnLinux;Wine; 12 | 13 | -------------------------------------------------------------------------------- /phoenicis-engines/src/main/java/org/phoenicis/engines/EngineTool.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.engines; 2 | 3 | /** 4 | * interface which must be implemented by all engine tools in Javascript 5 | */ 6 | public interface EngineTool { 7 | /** 8 | * runs the tool in the given container 9 | * @param container directory name (not the complete path!) of the container where the tool shall be run 10 | */ 11 | void run(String container); 12 | } 13 | -------------------------------------------------------------------------------- /docs/_docs/Developers/translation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Translation" 3 | category: Developers 4 | order: 7 5 | --- 6 | 7 | 1. run `mvn package` to update the `.pot` and `.po` files 8 | 2. create `po` per language (if it doesn't exist yet): `msginit -i keys.pot -o de.po` (for German) 9 | 3. translate (e.g. with poedit) 10 | 4. run `mvn package` again to generate the `.properties` with the translated messages 11 | 5. create a pull request containing the `.pot` and `.po` files 12 | -------------------------------------------------------------------------------- /docs/_docs/Users/shortcuts.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Shortcuts" 3 | category: Users 4 | order: 7 5 | --- 6 | 7 | **Shortcuts** are entries in your libraries which allow you to run your installed apps. By default, they are defined in `~/.Phoenicis/shortcuts/`. 8 | Every shortcut is described by several files: 9 | * .description: Well, a description. 10 | * .miniature: The image which is shown in your library. 11 | * .shortcut: Contains information how the app has to be started (e.g. path to the executable) 12 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/InstallationType.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.ui; 2 | 3 | /** 4 | * type of the installation 5 | */ 6 | public enum InstallationType { 7 | APPS("Apps"), ENGINES("Engines"), VERBS("Verbs"); 8 | 9 | private String displayName; 10 | 11 | InstallationType(String displayName) { 12 | this.displayName = displayName; 13 | } 14 | 15 | public String toString() { 16 | return this.displayName; 17 | } 18 | } -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/processes/ProcessUtils.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.tools.processes; 2 | 3 | import org.phoenicis.configuration.security.Safe; 4 | 5 | @Safe 6 | public class ProcessUtils { 7 | 8 | /** 9 | * Creates a new {@link PhoenicisProcessBuilder} object 10 | * 11 | * @return The new PhoenicisProcessBuilder object 12 | */ 13 | public PhoenicisProcessBuilder newBuilder() { 14 | return new PhoenicisProcessBuilder(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /settings/version-rules.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | .*(alpha|Alpha|ALPHA|b|beta|Beta|BETA|rc|‌​RC|M|EA|pr).* 6 | 7 | -------------------------------------------------------------------------------- /.github/workflows/merge-me.yml: -------------------------------------------------------------------------------- 1 | name: Merge me! 2 | 3 | on: 4 | workflow_run: 5 | types: 6 | - completed 7 | workflows: 8 | - 'CI' 9 | 10 | jobs: 11 | merge-me: 12 | name: Merge me! 13 | runs-on: ubuntu-latest 14 | steps: 15 | - if: ${{ github.event.workflow_run.conclusion == 'success' }} 16 | name: Merge me! 17 | uses: ridedott/merge-me-action@v2 18 | with: 19 | GITHUB_TOKEN: ${{ secrets.DEPENDABOT_AUTO_MERGE }} 20 | ENABLE_GITHUB_API_PREVIEW: true 21 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/system/opener/Opener.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.tools.system.opener; 2 | 3 | import java.net.URI; 4 | 5 | /** 6 | * System Opener 7 | */ 8 | @FunctionalInterface 9 | public interface Opener { 10 | /** 11 | * Open a file 12 | * @param file to be opened 13 | */ 14 | void open(String file); 15 | 16 | /** 17 | * Open a URL 18 | * @param url to be opened 19 | */ 20 | default void open(URI url) { 21 | open(url.toString()); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/security/Safe.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.security; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Annotates a bean as safe. 10 | * If a bean is not safe, it cannot be executed from the Javascript context 11 | */ 12 | @Target(ElementType.TYPE) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface Safe { 15 | } 16 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/ParameterName.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Defines a method or constructor parameter name 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.PARAMETER) 13 | public @interface ParameterName { 14 | String value() default ""; 15 | } 16 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/exceptions/ScriptNotFoundException.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.exceptions; 2 | 3 | /** 4 | * An exception that should be thrown if a script could not be located 5 | */ 6 | public class ScriptNotFoundException extends ScriptException { 7 | private static String createMessage(String scriptId) { 8 | return String.format("Script \"%s\" is not found", scriptId); 9 | } 10 | 11 | public ScriptNotFoundException(String scriptId) { 12 | super(createMessage(scriptId)); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /docs/_docs/Developers/update-documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Update documentation" 3 | category: Developers 4 | order: 9 5 | toc: true 6 | --- 7 | 8 | ### Setup Jekyll 9 | * Install bundler 10 | ``` 11 | gem install bundler 12 | ``` 13 | * Install Jekyll and other dependencies 14 | ``` 15 | cd phoenicis/docs 16 | bundle install 17 | ``` 18 | 19 | ### Update documentation 20 | * Change or add .md in `_docs` 21 | 22 | ### Test 23 | * Build html 24 | ``` 25 | cd phoenicis/docs 26 | bundle exec jekyll serve 27 | ``` 28 | * Check in browser: [http://127.0.0.1:4000/](http://127.0.0.1:4000/) 29 | 30 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/TranslatableBuilder.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Use this if your {@link Translatable} class has a builder. 10 | * Annotate the builder with this annotation 11 | */ 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.TYPE) 14 | public @interface TranslatableBuilder { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/TriFunction.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts; 2 | 3 | /** 4 | * function with 3 arguments 5 | * @param 1. argument type 6 | * @param 2. argument type 7 | * @param 3. argument type 8 | * @param return value type 9 | */ 10 | @FunctionalInterface 11 | public interface TriFunction { 12 | 13 | /** 14 | * applies the function 15 | * 16 | * @param a 1. argument 17 | * @param b 2. argument 18 | * @param c 3. argument 19 | * @return 20 | */ 21 | R apply(A a, B b, C c); 22 | } 23 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Graphics/Photofiltre/Online/script.js: -------------------------------------------------------------------------------- 1 | const OnlineInstallerScript = include("engines.wine.quick_script.online_installer_script"); 2 | 3 | new OnlineInstallerScript() 4 | .name("Photofiltre") 5 | .editor("Antonio Da Cruz") 6 | .applicationHomepage("http://photofiltre.free.fr") 7 | .author("Quentin PÂRIS") 8 | .url("http://photofiltre.free.fr/utils/pf-setup-fr-652.exe") 9 | .checksum("dc965875d698cd3f528423846f837d0dcf39616d") 10 | .category("Graphics") 11 | .executable("PhotoFiltre.exe"); 12 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/exceptions/IncludeException.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.exceptions; 2 | 3 | /** 4 | * An exception that should be thrown if a script execution error occurred during the include of another scirpt 5 | */ 6 | public class IncludeException extends ScriptException { 7 | private static String createMessage(String scriptId) { 8 | return String.format("Error while including script: \"%s\"", scriptId); 9 | } 10 | 11 | public IncludeException(String scriptId, Exception e) { 12 | super(createMessage(scriptId), e); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/v7.2.2/script.js: -------------------------------------------------------------------------------- 1 | include("engines.wine.quick_script.online_installer_script"); 2 | 3 | new OnlineInstallerScript() 4 | .name("Notepad++") 5 | .editor("Notepad++") 6 | .applicationHomepage("https://notepad-plus-plus.org/") 7 | .author("Quentin PÂRIS") 8 | .url("https://notepad-plus-plus.org/repository/7.x/7.2.2/npp.7.2.2.Installer.exe") 9 | .checksum("fc20ea01bd98db48b2ff886709e95a4520cfd28c") 10 | .category("Development") 11 | .executable("Notepad++.exe") 12 | .go(); 13 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/engine/injectors/LocalisationInjector.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.engine.injectors; 2 | 3 | import org.phoenicis.scripts.engine.implementation.PhoenicisScriptEngine; 4 | 5 | /** 6 | * Injects tr() function into a Script Engine 7 | */ 8 | public class LocalisationInjector implements EngineInjector { 9 | @Override 10 | public void injectInto(PhoenicisScriptEngine phoenicisScriptEngine) { 11 | phoenicisScriptEngine.eval("var tr = Packages.org.phoenicis.configuration.localisation.Localisation.tr;", 12 | this::throwException); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /phoenicis-engines/src/main/java/org/phoenicis/engines/Verb.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.engines; 2 | 3 | import org.phoenicis.scripts.exceptions.ScriptException; 4 | 5 | /** 6 | * Interface which must be implemented by all Verbs in Javascript 7 | */ 8 | public interface Verb { 9 | /** 10 | * Installs the Verb in the given container 11 | * 12 | * @param container directory name (not the complete path!) of the container where the Verb shall be installed 13 | * @throws ScriptException thrown if an error occurred during the installation 14 | */ 15 | void install(String container) throws ScriptException; 16 | } 17 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/engine/injectors/ScriptUtilitiesInjector.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.engine.injectors; 2 | 3 | import org.phoenicis.scripts.engine.implementation.PhoenicisScriptEngine; 4 | 5 | import java.io.InputStreamReader; 6 | 7 | /** 8 | * Includes utils.js 9 | */ 10 | public class ScriptUtilitiesInjector implements EngineInjector { 11 | @Override 12 | public void injectInto(PhoenicisScriptEngine phoenicisScriptEngine) { 13 | phoenicisScriptEngine.eval(new InputStreamReader(getClass().getResourceAsStream("utils.js")), 14 | this::throwException); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/control/NetworkPanel.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.control; 2 | 3 | import org.phoenicis.javafx.components.common.control.ControlBase; 4 | import org.phoenicis.javafx.components.setting.skin.NetworkPanelSkin; 5 | 6 | /** 7 | * An implementation of the "network" panel inside the settings tab 8 | */ 9 | public class NetworkPanel extends ControlBase { 10 | /** 11 | * {@inheritDoc} 12 | */ 13 | @Override 14 | public NetworkPanelSkin createSkin() { 15 | return new NetworkPanelSkin(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: maven 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "07:00" 8 | open-pull-requests-limit: 10 9 | ignore: 10 | # ignore all GraalVM updates (stick to 21.1.x) 11 | - dependency-name: "org.graalvm.sdk:graal-sdk" 12 | update-types: ["version-update:semver-major", "version-update:semver-minor"] 13 | - dependency-name: "org.graalvm.js:js" 14 | update-types: ["version-update:semver-major", "version-update:semver-minor"] 15 | - dependency-name: "org.graalvm.js:js-scriptengine" 16 | update-types: ["version-update:semver-major", "version-update:semver-minor"] 17 | -------------------------------------------------------------------------------- /docs/_docs/Users/installation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Installation" 3 | category: Users 4 | order: 3 5 | toc: true 6 | --- 7 | 8 | In addition to running the `jar` file directly, you can also install POL 5 on your operating system. 9 | 10 | ## Ubuntu 16.04 11 | To install POL 5 on Ubuntu, you need to execute the `deb` file inside the `target/packages` folder of the `phoenicis-dist` project (see [Build]({{ site.baseurl }}{% link _docs/Developers/build.md %}) for more information). 12 | 13 | If you already have POL 5 installed through a `deb` file, you can simply override your old installation by executing a newer `deb` POL 5 installation file. This will replace the old installation with a newer one. 14 | 15 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/control/FileAssociationsPanel.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.control; 2 | 3 | import org.phoenicis.javafx.components.common.control.ControlBase; 4 | import org.phoenicis.javafx.components.setting.skin.FileAssociationsPanelSkin; 5 | 6 | /** 7 | * An implementation of the "file associations" panel in the settings tab 8 | */ 9 | public class FileAssociationsPanel extends ControlBase { 10 | /** 11 | * {@inheritDoc} 12 | */ 13 | @Override 14 | public FileAssociationsPanelSkin createSkin() { 15 | return new FileAssociationsPanelSkin(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /phoenicis-tools/src/test/java/org/phoenicis/tools/lnk/LnkParserTest.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.tools.lnk; 2 | 3 | import org.junit.Test; 4 | 5 | import java.io.File; 6 | import java.io.IOException; 7 | 8 | import static org.mockito.Mockito.mock; 9 | import static org.mockito.Mockito.verify; 10 | 11 | public class LnkParserTest { 12 | private final org.phoenicis.lnk.LnkParser delegated = mock(org.phoenicis.lnk.LnkParser.class); 13 | private final LnkParser lnkParser = new LnkParser(delegated); 14 | 15 | @Test 16 | public void testLnkParser_testPath() throws IOException { 17 | File fileData = mock(File.class); 18 | lnkParser.parse(fileData); 19 | verify(delegated).parse(fileData); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /docs/_sass/_mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin flex-direction($values) { 2 | -webkit-flex-direction: $values; 3 | flex-direction: $values; 4 | } 5 | 6 | @mixin flex-flow($values) { 7 | -webkit-flex-flow: $values; 8 | flex-flow: $values; 9 | } 10 | 11 | @mixin align-items($values) { 12 | -webkit-align-items: $values; 13 | align-items: $values; 14 | } 15 | 16 | @mixin justify-content($values) { 17 | -webkit-justify-content: $values; 18 | justify-content: $values; 19 | } 20 | 21 | @mixin flex($values) { 22 | -webkit-flex: $values; 23 | flex: $values; 24 | } 25 | 26 | @mixin display-flex() { 27 | display: -webkit-flex; 28 | display: flex; 29 | } 30 | 31 | @mixin display-inline-flex() { 32 | display: -webkit-inline-flex; 33 | display: inline-flex; 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/Translatable.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Tells Phoenicis localisation module that the annotated class can be translated. 10 | * This requires: 11 | *
    12 | *
  • {@link TranslatableCreator} or {@link TranslatableBuilder}
  • 13 | *
  • At least one getter to be annotated with {@link Translate}
  • 14 | *
15 | */ 16 | @Retention(RetentionPolicy.RUNTIME) 17 | @Target(ElementType.TYPE) 18 | public @interface Translatable { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ${user.home}/.Phoenicis/phoenicis.log 4 | false 5 | 6 | %d{HH:mm:ss.SSS} [%-5level] %logger \(l.%line\) - %msg%n 7 | 8 | 9 | 10 | 11 | 12 | [%-5level] %logger \(l.%line\) - %msg%n 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/TranslatableCreator.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Use this if your {@link Translatable} class has a simple constructor. 10 | * Annotate the constructor with this annotation. 11 | * The parameters of the constructor has to be named with either {@link ParameterName} or 12 | * {@link com.fasterxml.jackson.annotation.JsonProperty} 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.CONSTRUCTOR) 16 | public @interface TranslatableCreator { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /.github/workflows/linter.yml: -------------------------------------------------------------------------------- 1 | name: Linter 2 | on: pull_request 3 | 4 | jobs: 5 | java: 6 | name: Lint .java files 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Checkout repo 10 | uses: actions/checkout@v3 11 | 12 | - name: Set up JDK 11 13 | uses: actions/setup-java@v3 14 | with: 15 | distribution: 'temurin' 16 | java-version: '11' 17 | cache: 'maven' 18 | 19 | - name: Run Maven formatter 20 | run: mvn formatter:format 21 | 22 | - name: Commit changes 23 | uses: EndBug/add-and-commit@v9 24 | with: 25 | author_name: PhoenicisBot 26 | author_email: git@phoenicis.org 27 | message: 'Lint .java files' 28 | add: '*.java' 29 | -------------------------------------------------------------------------------- /docs/_docs/Users/run.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Run" 3 | category: Users 4 | order: 4 5 | toc: true 6 | --- 7 | 8 | ## JavaFX 9 | ``` 10 | phoenicis-javafx 11 | ``` 12 | 13 | ## CLI 14 | ``` 15 | phoenicis-cli -install Notepad++ 16 | ``` 17 | ``` 18 | phoenicis-cli -run Notepad++ 19 | ``` 20 | 21 | ## Show games in native Steam 22 | - add phoenicis-cli as [Non-Steam Game](https://support.steampowered.com/kb_article.php?ref=2219-YDJV-5557) 23 | - rename it 24 | - set launch parameters to `-run ""` 25 | 26 | ## Troubleshooting 27 | ### Missing libudev.so.0 28 | On some Linux distributions (e.g. Ubuntu 16.04) only libudev1 is available. However, this can also be used for Wine. 29 | ```bash 30 | sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0 31 | ``` 32 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/exceptions/CircularIncludeException.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.exceptions; 2 | 3 | import java.util.Stack; 4 | 5 | /** 6 | * An exception that should be thrown in case a circular include has been detected 7 | */ 8 | public class CircularIncludeException extends ScriptException { 9 | private static String createMessage(String scriptId, Stack includeStack) { 10 | String includeStackString = String.join(" -> ", includeStack); 11 | 12 | return String.format("Circular include of \"%s\" in (%s)", scriptId, includeStackString); 13 | } 14 | 15 | public CircularIncludeException(String scriptId, Stack includeStack) { 16 | super(createMessage(scriptId, includeStack)); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docs/css/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | sitemap: false 4 | --- 5 | 6 | $baseurl: "{{ site.baseurl }}"; 7 | $body-background-color: #2B2E31; 8 | 9 | $content-max-width: 800px; 10 | $content-color: #222; 11 | $content-background-color: #fff; 12 | 13 | $brand-colour: #3583d6; 14 | $brand-colour-light: mix($brand-colour, $content-background-color, 10%); 15 | 16 | $nav-header-background-color: $brand-colour; 17 | $nav-header-height: 60px; 18 | $nav-background-color: #f5f5f5; 19 | $nav-width: 300px; 20 | 21 | $space: 20px; 22 | 23 | $mobile-break: 700px; 24 | $full-width-break: $nav-width + ($space * 4) + $content-max-width; 25 | 26 | @import "mixins"; 27 | @import "normalize"; 28 | @import "pygments"; 29 | @import "typography"; 30 | @import "code"; 31 | @import "tables"; 32 | @import "layout"; 33 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/library/panelstates/ShortcutEditing.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.library.panelstates; 2 | 3 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 4 | import org.phoenicis.library.dto.ShortcutDTO; 5 | 6 | /** 7 | * Indicator to open the "Shortcut Editing" details panel 8 | */ 9 | public class ShortcutEditing implements OpenDetailsPanel { 10 | /** 11 | * The shortcut whose details are to be edited 12 | */ 13 | private final ShortcutDTO shortcut; 14 | 15 | public ShortcutEditing(ShortcutDTO shortcut) { 16 | super(); 17 | 18 | this.shortcut = shortcut; 19 | } 20 | 21 | public ShortcutDTO getShortcut() { 22 | return this.shortcut; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/BrowserControl.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.ui; 2 | 3 | /** 4 | * Reprents a component that can control an abstract browser view 5 | */ 6 | public interface BrowserControl { 7 | /** 8 | * Makes the browser go to a given URL 9 | * @param url The URL 10 | */ 11 | void goToUrl(String url); 12 | 13 | /** 14 | * Wait for a given url to be loaded 15 | * @param urlMatch The URL to wait for 16 | */ 17 | void waitForUrl(String urlMatch); 18 | 19 | /** 20 | * Wait for the current page to be loaded 21 | */ 22 | void waitForBeingLoaded(); 23 | 24 | /** 25 | * Get the current browser URL 26 | * @return the current browser URL 27 | */ 28 | String getCurrentUrl(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/library/panelstates/ShortcutInformation.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.library.panelstates; 2 | 3 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 4 | import org.phoenicis.library.dto.ShortcutDTO; 5 | 6 | /** 7 | * Indicator to open the "Shortcut Details" details panel 8 | */ 9 | public class ShortcutInformation implements OpenDetailsPanel { 10 | /** 11 | * The shortcut whose details are to be shown 12 | */ 13 | private final ShortcutDTO shortcut; 14 | 15 | public ShortcutInformation(ShortcutDTO shortcut) { 16 | super(); 17 | 18 | this.shortcut = shortcut; 19 | } 20 | 21 | public ShortcutDTO getShortcut() { 22 | return this.shortcut; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /docs/_sass/_code.scss: -------------------------------------------------------------------------------- 1 | pre, code, tt { 2 | font-family: Inconsolata, Consolas, Courier, "Courier New", "Liberation Mono", monospace; 3 | font-size: 0.85em; 4 | white-space: pre-wrap; 5 | border-radius: 2px; 6 | line-height: 1.4; 7 | font-weight: 400; 8 | background-color: #404145; 9 | color: #FAFAFA; 10 | border-radius: 2px; 11 | } 12 | 13 | pre { 14 | box-sizing: border-box; 15 | margin: 0 0 1.75em 0; 16 | width: 100%; 17 | padding: 10px; 18 | font-size: 0.9em; 19 | white-space: pre; 20 | overflow: auto; 21 | border-radius: 3px; 22 | 23 | code, tt { 24 | font-size: inherit; 25 | white-space: pre-wrap; 26 | background: transparent; 27 | border: none; 28 | padding: 0 29 | } 30 | } 31 | 32 | blockquote > code, 33 | li > code, 34 | p > code { 35 | padding: 4px 6px; 36 | white-space: nowrap; 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/skin/NetworkPanelSkin.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.skin; 2 | 3 | import org.phoenicis.javafx.components.common.skin.SkinBase; 4 | import org.phoenicis.javafx.components.setting.control.NetworkPanel; 5 | 6 | /** 7 | * The skin for the {@link NetworkPanel} component 8 | */ 9 | public class NetworkPanelSkin extends SkinBase { 10 | /** 11 | * Constructor 12 | * 13 | * @param control The control belonging to the skin 14 | */ 15 | public NetworkPanelSkin(NetworkPanel control) { 16 | super(control); 17 | } 18 | 19 | /** 20 | * {@inheritDoc} 21 | */ 22 | @Override 23 | public void initialise() { 24 | // nothing to do 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/container/panelstates/ContainerInformation.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.container.panelstates; 2 | 3 | import org.phoenicis.containers.dto.ContainerDTO; 4 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 5 | 6 | /** 7 | * Indicator to open the "Container Details" details panel 8 | */ 9 | public class ContainerInformation implements OpenDetailsPanel { 10 | private final ContainerDTO container; 11 | 12 | /** 13 | * The container whose details are to be shown 14 | */ 15 | public ContainerInformation(ContainerDTO container) { 16 | super(); 17 | 18 | this.container = container; 19 | } 20 | 21 | public ContainerDTO getContainer() { 22 | return this.container; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/installation/panelstates/Installation.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.installation.panelstates; 2 | 3 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 4 | import org.phoenicis.javafx.views.mainwindow.installations.dto.InstallationDTO; 5 | 6 | /** 7 | * Indicator to open the "Installation" details panel 8 | */ 9 | public class Installation implements OpenDetailsPanel { 10 | /** 11 | * The installation whose content is to be shown 12 | */ 13 | private final InstallationDTO installation; 14 | 15 | public Installation(InstallationDTO installation) { 16 | super(); 17 | 18 | this.installation = installation; 19 | } 20 | 21 | public InstallationDTO getInstallation() { 22 | return this.installation; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/application/panelstates/ApplicationInformation.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.application.panelstates; 2 | 3 | import org.phoenicis.javafx.components.common.panelstates.OpenDetailsPanel; 4 | import org.phoenicis.repository.dto.ApplicationDTO; 5 | 6 | /** 7 | * Indicator to open the "Application Information" details panel 8 | */ 9 | public class ApplicationInformation implements OpenDetailsPanel { 10 | /** 11 | * The application whose details are to be shown 12 | */ 13 | private final ApplicationDTO application; 14 | 15 | public ApplicationInformation(ApplicationDTO application) { 16 | super(); 17 | 18 | this.application = application; 19 | } 20 | 21 | public ApplicationDTO getApplication() { 22 | return this.application; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/Translate.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Annotate a getter of a translatable object that will be translated. 10 | *
    11 | *
  • If the getter returns a string, it will be directly translated
  • 12 | *
  • If the getter returns a {@link Translatable}, it will be recursively translated
  • 13 | *
  • If the getter returns a set or a list, each item of them will be translated
  • 14 | *
  • In any other case, nothing will happen
  • 15 | *
16 | */ 17 | @Retention(RetentionPolicy.RUNTIME) 18 | @Target(ElementType.METHOD) 19 | public @interface Translate { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/skin/FileAssociationsPanelSkin.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.skin; 2 | 3 | import org.phoenicis.javafx.components.common.skin.SkinBase; 4 | import org.phoenicis.javafx.components.setting.control.FileAssociationsPanel; 5 | 6 | /** 7 | * The skin for the {@link FileAssociationsPanel} component 8 | */ 9 | public class FileAssociationsPanelSkin extends SkinBase { 10 | /** 11 | * Constructor 12 | * 13 | * @param control The control belonging to the skin 14 | */ 15 | public FileAssociationsPanelSkin(FileAssociationsPanel control) { 16 | super(control); 17 | } 18 | 19 | /** 20 | * {@inheritDoc} 21 | */ 22 | @Override 23 | public void initialise() { 24 | // nothing to do 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/engine/injectors/EngineInjector.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.engine.injectors; 2 | 3 | import org.phoenicis.scripts.engine.implementation.PhoenicisScriptEngine; 4 | import org.phoenicis.scripts.exceptions.ScriptException; 5 | 6 | /** 7 | * Injects some code into a Script Engine 8 | */ 9 | public interface EngineInjector { 10 | /** 11 | * Injects component into an engine engine 12 | * 13 | * @param phoenicisScriptEngine The engine to be injected in 14 | */ 15 | void injectInto(PhoenicisScriptEngine phoenicisScriptEngine); 16 | 17 | /** 18 | * Throws a ScriptException error (can be use as a lambda) 19 | * 20 | * @param parentException Parent exception 21 | */ 22 | default void throwException(Exception parentException) { 23 | throw new ScriptException(parentException); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/test/java/org/phoenicis/configuration/localisation/SimpleTranslatableObject.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | @Translatable 4 | public class SimpleTranslatableObject { 5 | private final String itemToBeTranslated; 6 | private final String itemNotToBeTranslated; 7 | 8 | @TranslatableCreator 9 | public SimpleTranslatableObject(@ParameterName("itemToBeTranslated") String itemToBeTranslated, 10 | @ParameterName("itemNotToBeTranslated") String itemNotToBeTranslated) { 11 | this.itemToBeTranslated = itemToBeTranslated; 12 | this.itemNotToBeTranslated = itemNotToBeTranslated; 13 | } 14 | 15 | @Translate 16 | public String getItemToBeTranslated() { 17 | return itemToBeTranslated; 18 | } 19 | 20 | public String getItemNotToBeTranslated() { 21 | return itemNotToBeTranslated; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/resources/org/phoenicis/repository/repositoryTest/Applications/Development/Notepad++/application.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Notepad++", 3 | "id": "notepad_plus_plus", 4 | "description": "Notepad++ is a free (as in \"free speech\" and also as in \"free beer\") source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License.

Based on a powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption, resulting in a greener environment.

Source: http://notepad-plus.sourceforge.net/uk/site.htm" 5 | } 6 | -------------------------------------------------------------------------------- /phoenicis-cli/src/test/resources/org/phoenicis/cli/testRepository/Applications/Graphics/Photofiltre/Online/script.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | print("Test script"); -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/archive/cab/Cabheader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.archive.cab; 20 | 21 | public class Cabheader { 22 | } 23 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/LogWizard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.wizard; 20 | 21 | public interface LogWizard { 22 | 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/test/java/org/phoenicis/configuration/localisation/CollectionsOfTranslatableObject.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.util.List; 4 | 5 | @Translatable 6 | public class CollectionsOfTranslatableObject { 7 | private final List itemToBeTranslated; 8 | private final List itemNotToBeTranslated; 9 | 10 | @TranslatableCreator 11 | public CollectionsOfTranslatableObject(@ParameterName("itemToBeTranslated") List itemToBeTranslated, 12 | @ParameterName("itemNotToBeTranslated") List itemNotToBeTranslated) { 13 | this.itemToBeTranslated = itemToBeTranslated; 14 | this.itemNotToBeTranslated = itemNotToBeTranslated; 15 | } 16 | 17 | @Translate 18 | public List getItemToBeTranslated() { 19 | return itemToBeTranslated; 20 | } 21 | 22 | public List getItemNotToBeTranslated() { 23 | return itemNotToBeTranslated; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-library/src/main/java/org/phoenicis/library/ShortcutReader.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.library; 2 | 3 | import org.phoenicis.library.dto.ShortcutDTO; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Interface for all shortcut reader implementations 9 | */ 10 | public interface ShortcutReader { 11 | /** 12 | * Sets the shortcut 13 | * 14 | * @param shortcut The shortcut 15 | */ 16 | void of(ShortcutDTO shortcut); 17 | 18 | /** 19 | * Returns the name of the container belonging to the shortcut 20 | * 21 | * @return The container name 22 | */ 23 | String getContainer(); 24 | 25 | /** 26 | * Runs a shortcut with the given user arguments 27 | * 28 | * @param arguments The user arguments 29 | */ 30 | void run(List arguments); 31 | 32 | /** 33 | * Stops the running shortcut 34 | */ 35 | void stop(); 36 | 37 | /** 38 | * Uninstalls the shortcut 39 | */ 40 | void uninstall(); 41 | } 42 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/test/java/org/phoenicis/configuration/localisation/TreeTranslatableObject.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | @Translatable 4 | public class TreeTranslatableObject { 5 | private final SimpleTranslatableObject itemToBeTranslated; 6 | private final SimpleTranslatableObject itemNotToBeTranslated; 7 | 8 | @TranslatableCreator 9 | public TreeTranslatableObject(@ParameterName("itemToBeTranslated") SimpleTranslatableObject itemToBeTranslated, 10 | @ParameterName("itemNotToBeTranslated") SimpleTranslatableObject itemNotToBeTranslated) { 11 | this.itemToBeTranslated = itemToBeTranslated; 12 | this.itemNotToBeTranslated = itemNotToBeTranslated; 13 | } 14 | 15 | @Translate 16 | public SimpleTranslatableObject getItemToBeTranslated() { 17 | return itemToBeTranslated; 18 | } 19 | 20 | public SimpleTranslatableObject getItemNotToBeTranslated() { 21 | return itemNotToBeTranslated; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-entities/src/main/java/org/phoenicis/entities/ProgressState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.entities; 20 | 21 | public enum ProgressState { 22 | READY, PROGRESSING, SUCCESS, FAILED 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/archive/cab/CompressionType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.archive.cab; 20 | 21 | public enum CompressionType { 22 | NONE, MSZIP, QUANTUM, LZX 23 | } 24 | -------------------------------------------------------------------------------- /phoenicis-engines/src/main/java/org/phoenicis/engines/EngineSetting.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.engines; 2 | 3 | /** 4 | * interface which must be implemented by all engine settings in Javascript 5 | */ 6 | public interface EngineSetting { 7 | /** 8 | * fetches the text which shall be shown for the setting 9 | * @return text 10 | */ 11 | String getText(); 12 | 13 | /** 14 | * fetches the available options for this setting 15 | * @return options 16 | */ 17 | String[] getOptions(); 18 | 19 | /** 20 | * fetches the currently used option 21 | * @param container name of container for which the current setting shall be fetched 22 | * @return option 23 | */ 24 | String getCurrentOption(String container); 25 | 26 | /** 27 | * sets the selected option 28 | * @param container name of container for which the setting shall be applied 29 | * @param optionIndex index of selected option 30 | */ 31 | void setOption(String container, int optionIndex); 32 | } 33 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/localisation/PropertiesResourceBundle.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.configuration.localisation; 2 | 3 | import java.util.Enumeration; 4 | import java.util.Properties; 5 | import java.util.ResourceBundle; 6 | 7 | public class PropertiesResourceBundle extends ResourceBundle { 8 | private Properties properties; 9 | 10 | public PropertiesResourceBundle(Properties properties) { 11 | this.properties = properties; 12 | } 13 | 14 | @Override 15 | protected Object handleGetObject(String key) { 16 | return this.properties != null ? properties.get(key) : this.parent.getObject(key); 17 | } 18 | 19 | @Override 20 | @SuppressWarnings("unchecked") 21 | public Enumeration getKeys() { 22 | return this.properties != null ? (Enumeration) this.properties.propertyNames() : this.parent.getKeys(); 23 | } 24 | 25 | @Override 26 | public void setParent(ResourceBundle parent) { 27 | this.parent = parent; 28 | } 29 | } -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/control/SettingsSidebar.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.javafx.components.common.control.SidebarBase; 5 | import org.phoenicis.javafx.components.setting.skin.SettingsSidebarSkin; 6 | import org.phoenicis.javafx.components.setting.utils.SettingsSidebarItem; 7 | 8 | /** 9 | * A sidebar implementation for the settings tab 10 | */ 11 | public class SettingsSidebar extends SidebarBase { 12 | /** 13 | * Constructor 14 | * 15 | * @param items The items shown inside a toggle button group in the sidebar 16 | */ 17 | public SettingsSidebar(ObservableList items) { 18 | super(items); 19 | } 20 | 21 | /** 22 | * {@inheritDoc} 23 | */ 24 | @Override 25 | public SettingsSidebarSkin createSkin() { 26 | return new SettingsSidebarSkin(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/Wizard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.wizard; 20 | 21 | public interface Wizard extends AutoCloseable { 22 | void init(); 23 | 24 | String getTitle(); 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-tests/src/main/java/org/phoenicis/tests/TestException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tests; 20 | 21 | class TestException extends RuntimeException { 22 | TestException(Exception e) { 23 | super(e); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/AbstractValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public abstract class AbstractValueType { 22 | abstract String getText(); 23 | 24 | public abstract String toRegString(); 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/resources-filtered/phoenicis.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2017 PÂRIS Quentin 3 | # 4 | # This program is free software; you can redistribute it and/or modify 5 | # it under the terms of the GNU General Public License as published by 6 | # the Free Software Foundation; either version 2 of the License, or 7 | # (at your option) any later version. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU General Public License along 15 | # with this program; if not, write to the Free Software Foundation, Inc., 16 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | # 18 | 19 | application.version = ${project.version} 20 | application.gitRevision = ${buildNumber} 21 | application.buildTimestamp = ${timestamp} 22 | -------------------------------------------------------------------------------- /docs/search.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search 3 | sitemap: false 4 | --- 5 | 6 |

Loading results

7 |
    8 | 9 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /phoenicis-multithreading/src/main/java/org/phoenicis/multithreading/functional/NullRunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.multithreading.functional; 20 | 21 | public class NullRunnable implements Runnable { 22 | @Override 23 | public void run() { 24 | // Does nothing 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/http/DownloadException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.http; 20 | 21 | public class DownloadException extends RuntimeException { 22 | public DownloadException(String message, Exception e) { 23 | super(message, e); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/views/mainwindow/console/ConsoleTabFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.javafx.views.mainwindow.console; 20 | 21 | public class ConsoleTabFactory { 22 | public ConsoleTab createInstance() { 23 | return new ConsoleTab(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/ProgressWizard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.wizard; 20 | 21 | import org.phoenicis.scripts.ui.ProgressControl; 22 | 23 | public interface ProgressWizard extends Wizard { 24 | ProgressControl progressBar(String textToShow); 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/system/terminal/TerminalOpener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.system.terminal; 20 | 21 | import java.util.Map; 22 | 23 | public interface TerminalOpener { 24 | void openTerminal(String workingDirectory, Map environmentVariables); 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/pe/rsrc/ImageResourceDataEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.pe.rsrc; 20 | 21 | import org.phoenicis.win32.ULong; 22 | 23 | public class ImageResourceDataEntry { 24 | ULong offsetToData; 25 | ULong size; 26 | ULong codePage; 27 | ULong reserved; 28 | } 29 | -------------------------------------------------------------------------------- /docs/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 CloudCannon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/WineWizard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.wizard; 20 | 21 | /** 22 | * SetupWizard suitable to install a wine program 23 | */ 24 | public interface WineWizard extends ChoiceWizard, ProgressWizard, LogWizard, BrowserWizard { 25 | @Override 26 | void close(); 27 | } 28 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/session/InteractiveScriptSession.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.session; 20 | 21 | import java.util.function.Consumer; 22 | 23 | public interface InteractiveScriptSession { 24 | void eval(String evaluation, Consumer responseCallback, Consumer errorCallback); 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/MenuItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.ui; 20 | 21 | public class MenuItem { 22 | public final String text; 23 | public final int index; 24 | 25 | public MenuItem(String text, int index) { 26 | this.text = text; 27 | this.index = index; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/gpg/SignatureException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.gpg; 20 | 21 | public class SignatureException extends RuntimeException { 22 | private static final long serialVersionUID = 1L; 23 | 24 | public SignatureException(String s, Exception e) { 25 | super(s, e); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/control/ControlBase.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.control; 2 | 3 | import javafx.scene.control.Control; 4 | import javafx.scene.control.Skin; 5 | import org.phoenicis.javafx.components.common.skin.SkinBase; 6 | 7 | /** 8 | * A base class for a JavaFX component control/model 9 | * 10 | * @param The control/model class itself 11 | * @param The skin/view class belonging to the control 12 | */ 13 | public abstract class ControlBase, S extends SkinBase> extends Control { 14 | 15 | /** 16 | * Creates a new skin/view object for the control 17 | * 18 | * @return The created view object 19 | */ 20 | public abstract S createSkin(); 21 | 22 | /** 23 | * {@inheritDoc} 24 | */ 25 | @Override 26 | public Skin createDefaultSkin() { 27 | S skin = createSkin(); 28 | 29 | // initialise the skin 30 | skin.initialise(); 31 | 32 | // create and initialise the behavior of the skin (if it exists) 33 | skin.createDefaultBehavior(); 34 | 35 | return skin; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/Word.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32; 20 | 21 | /** 22 | * Represents a WIN32 WORD A 16-bit unsigned integer. The range is 0 through 23 | * 65535 decimal. 24 | */ 25 | public class Word extends UShort { 26 | public Word(byte[] bytes, int offset) { 27 | super(bytes, offset); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/pe/rsrc/ImageResourceNamedDirectoryEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.pe.rsrc; 20 | 21 | public class ImageResourceNamedDirectoryEntry extends ImageResourceDirectoryEntry { 22 | public ImageResourceNamedDirectoryEntry(byte[] bytes, int offset) { 23 | super(bytes, offset); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phoenicis-repository/src/main/java/org/phoenicis/repository/RepositoryLocationLoader.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.repository; 2 | 3 | import org.phoenicis.repository.location.RepositoryLocation; 4 | import org.phoenicis.repository.types.Repository; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * This interface should be implemented to set the behavior of Phoenicis regarding repositories configuration 10 | */ 11 | public interface RepositoryLocationLoader { 12 | /** 13 | * Gets the default repository locations 14 | * 15 | * @return The default repository locations 16 | */ 17 | List> getDefaultRepositoryLocations(); 18 | 19 | /** 20 | * Loads the repository location 21 | * 22 | * @return The loaded repository locations 23 | * @see RepositoryLocation 24 | */ 25 | List> loadRepositoryLocations(); 26 | 27 | /** 28 | * Save givens repository locations 29 | * 30 | * @param repositoryLocations The repository locations 31 | */ 32 | void saveRepositories(List> repositoryLocations); 33 | } 34 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/RemoveValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public class RemoveValueType extends AbstractValueType { 22 | @Override 23 | String getText() { 24 | return "-"; 25 | } 26 | 27 | @Override 28 | public String toRegString() { 29 | return "-"; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/application/control/ApplicationSidebarToggleGroup.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.application.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.javafx.components.application.skin.ApplicationSidebarToggleGroupSkin; 5 | import org.phoenicis.javafx.components.common.control.SidebarToggleGroupBase; 6 | import org.phoenicis.repository.dto.CategoryDTO; 7 | 8 | /** 9 | * A toggle group component used inside the {@link ApplicationSidebar} 10 | */ 11 | public class ApplicationSidebarToggleGroup 12 | extends SidebarToggleGroupBase { 13 | /** 14 | * Constructor 15 | * 16 | * @param elements An observable list containing the elements of the sidebar toggle group 17 | */ 18 | public ApplicationSidebarToggleGroup(ObservableList elements) { 19 | super(elements); 20 | } 21 | 22 | /** 23 | * {@inheritDoc} 24 | */ 25 | @Override 26 | public ApplicationSidebarToggleGroupSkin createSkin() { 27 | return new ApplicationSidebarToggleGroupSkin(this); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | extends: 3 | - eslint:recommended 4 | 5 | env: 6 | nashorn: true 7 | 8 | rules: 9 | linebreak-style: 10 | - 2 11 | - unix 12 | 13 | globals: 14 | include: false 15 | TYPE_ID: false 16 | CATEGORY_ID: false 17 | APPLICATION_ID: false 18 | # java 19 | Bean: false 20 | # files 21 | mkdir: false 22 | fileExists: false 23 | cat: false 24 | cp: false 25 | getFileSize: false 26 | fileName: false 27 | lns: false 28 | remove: false 29 | touch: false 30 | tr: false 31 | writeToFile: false 32 | createTempFile: false 33 | # classes 34 | AppResource: false 35 | CabExtract: false 36 | Checksum: false 37 | Downloader: false 38 | Extractor: false 39 | Resource: false 40 | SetupWizard: false 41 | Wine: false 42 | WineShortcut: false 43 | # quick scripts 44 | CustomInstallerScript: false 45 | InstallerScript: false 46 | LocalInstallerScript: false 47 | OnlineInstallerScript: false 48 | QuickScript: false 49 | SteamScript: false 50 | UplayScript: false 51 | ZipScript: false 52 | # wine 53 | LATEST_DEVELOPMENT_VERSION: false 54 | LATEST_STABLE_VERSION: false 55 | LATEST_STAGING_VERSION: false 56 | WINE_PREFIX_DIR: false 57 | -------------------------------------------------------------------------------- /phoenicis-cli/src/main/java/org/phoenicis/cli/scriptui/CliMessageSender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.cli.scriptui; 20 | 21 | import org.phoenicis.scripts.ui.UiMessageSender; 22 | 23 | import java.util.function.Supplier; 24 | 25 | public class CliMessageSender implements UiMessageSender { 26 | @Override 27 | public R run(Supplier function) { 28 | return function.get(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/views/mainwindow/settings/addrepository/RepositoryDetailsPanel.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.views.mainwindow.settings.addrepository; 2 | 3 | import javafx.scene.layout.BorderPane; 4 | import org.phoenicis.repository.location.RepositoryLocation; 5 | import org.phoenicis.repository.types.Repository; 6 | 7 | /** 8 | * A repository details panel used to add specific repository type dependent information. 9 | * 10 | * @param The specific repository type catered by this details panel 11 | * @author marc 12 | * @since 19.06.17 13 | */ 14 | public abstract class RepositoryDetailsPanel> extends BorderPane { 15 | /** 16 | * Returns the translated header text for this details panel 17 | * 18 | * @return The translated header text 19 | */ 20 | public abstract String getHeader(); 21 | 22 | /** 23 | * Returns a new instance of a {@link RepositoryLocation} of type {@link T} 24 | * containing the repository specific details specified by the user 25 | * 26 | * @return A new instance of a {@link RepositoryLocation} 27 | */ 28 | public abstract T createRepositoryLocation(); 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-repository/src/main/java/org/phoenicis/repository/RepositoryException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.repository; 20 | 21 | public class RepositoryException extends RuntimeException { 22 | public RepositoryException(String message) { 23 | super(message); 24 | } 25 | 26 | public RepositoryException(String message, Throwable cause) { 27 | super(message, cause); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/wizard/ChoiceWizard.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.wizard; 20 | 21 | import org.phoenicis.scripts.ui.MenuItem; 22 | 23 | import java.util.List; 24 | 25 | public interface ChoiceWizard { 26 | MenuItem menu(String textToShow, List menuItems); 27 | 28 | MenuItem menu(String textToShow, List menuItems, String defaultValue); 29 | } 30 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/views/common/ColumnConstraintsWithPercentage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.javafx.views.common; 20 | 21 | import javafx.scene.layout.ColumnConstraints; 22 | 23 | public class ColumnConstraintsWithPercentage extends ColumnConstraints { 24 | public ColumnConstraintsWithPercentage(double percentage) { 25 | super(); 26 | this.setPercentWidth(percentage); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/DWord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32; 20 | 21 | /** 22 | * Represents a WIN32 DWORD A 32-bit unsigned integer. The range is 0 through 23 | * 4294967295 decimal. 24 | */ 25 | public class DWord extends ULong { 26 | public DWord(byte[] bytes, int offset) { 27 | super(bytes, offset); 28 | } 29 | 30 | public DWord(int offset) { 31 | super(offset); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/engine/control/EnginesSidebarToggleGroup.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.engine.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.engines.dto.EngineCategoryDTO; 5 | import org.phoenicis.javafx.components.common.control.SidebarToggleGroupBase; 6 | import org.phoenicis.javafx.components.engine.skin.EnginesSidebarToggleGroupSkin; 7 | 8 | /** 9 | * A toggle group component used inside the {@link ApplicationsSidebar} 10 | */ 11 | public class EnginesSidebarToggleGroup 12 | extends SidebarToggleGroupBase { 13 | /** 14 | * Constructor 15 | * 16 | * @param title The title of the engines sidebar toggle group 17 | * @param elements An observable list containing the elements of the sidebar toggle group 18 | */ 19 | public EnginesSidebarToggleGroup(String title, ObservableList elements) { 20 | super(title, elements); 21 | } 22 | 23 | /** 24 | * {@inheritDoc} 25 | */ 26 | @Override 27 | public EnginesSidebarToggleGroupSkin createSkin() { 28 | return new EnginesSidebarToggleGroupSkin(this); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenicis-settings/src/main/java/org/phoenicis/settings/Setting.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.settings; 20 | 21 | public enum Setting { 22 | TERMINAL("${tools.linux-terminal:}"); 23 | 24 | private final String propertyName; 25 | 26 | Setting(String propertyName) { 27 | this.propertyName = propertyName; 28 | } 29 | 30 | @Override 31 | public String toString() { 32 | return this.propertyName; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/archive/cab/CabException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.archive.cab; 20 | 21 | public class CabException extends RuntimeException { 22 | private static final long serialVersionUID = 1L; 23 | 24 | public CabException(String message) { 25 | super(message); 26 | } 27 | 28 | public CabException(String message, Exception e) { 29 | super(message, e); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/library/control/LibrarySidebarToggleGroup.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.library.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.javafx.components.common.control.SidebarToggleGroupBase; 5 | import org.phoenicis.javafx.components.library.skin.LibrarySidebarToggleGroupSkin; 6 | import org.phoenicis.library.dto.ShortcutCategoryDTO; 7 | 8 | /** 9 | * A toggle group component used inside the {@link LibrarySidebar} 10 | */ 11 | public class LibrarySidebarToggleGroup 12 | extends SidebarToggleGroupBase { 13 | /** 14 | * Constructor 15 | * 16 | * @param title The title of the library sidebar toggle group 17 | * @param elements An observable list containing the elements of the sidebar toggle group 18 | */ 19 | public LibrarySidebarToggleGroup(String title, ObservableList elements) { 20 | super(title, elements); 21 | } 22 | 23 | /** 24 | * {@inheritDoc} 25 | */ 26 | @Override 27 | public LibrarySidebarToggleGroupSkin createSkin() { 28 | return new LibrarySidebarToggleGroupSkin(this); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/archive/ArchiveException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.archive; 20 | 21 | public class ArchiveException extends RuntimeException { 22 | private static final long serialVersionUID = 1L; 23 | 24 | public ArchiveException(String message, Throwable e) { 25 | super(message, e); 26 | } 27 | 28 | public ArchiveException(String message) { 29 | super(message); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/pe/ImageDataDirectory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.pe; 20 | 21 | import org.phoenicis.win32.DWord; 22 | 23 | public class ImageDataDirectory { 24 | final DWord virtualAddress; 25 | final DWord size; 26 | 27 | public ImageDataDirectory(byte[] bytes, int offset) { 28 | virtualAddress = new DWord(bytes, offset); 29 | size = new DWord(bytes, offset + 4); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /.github/workflows/update-translations.yml: -------------------------------------------------------------------------------- 1 | name: Update translations 2 | on: 3 | push: 4 | branches: 5 | - master 6 | 7 | jobs: 8 | run: 9 | runs-on: ubuntu-20.04 10 | steps: 11 | - name: Checkout repo 12 | uses: actions/checkout@v3 13 | with: 14 | token: ${{ secrets.TRANSLATIONS_UPDATE }} 15 | 16 | - name: Set up JDK 11 17 | uses: actions/setup-java@v1 18 | with: 19 | java-version: 11 20 | 21 | - name: Install dependencies 22 | run: sudo apt-get install -y gettext 23 | 24 | - name: Run Maven 25 | run: mvn -Pupdate-translations validate 26 | 27 | - name: Check changes 28 | id: check-changes 29 | continue-on-error: true 30 | # check if anything except "POT creation date" has changed 31 | run: git diff --numstat i18n/keys.pot | awk '{ if($1 == 1 && $2 == 1) { exit 1 } else exit 0 }' 32 | 33 | - name: Commit changes 34 | if: steps.check-changes.outcome == 'success' && steps.check-changes.conclusion == 'success' 35 | uses: EndBug/add-and-commit@v6 36 | with: 37 | author_name: PhoenicisBot 38 | author_email: git@phoenicis.org 39 | message: 'Update translations' 40 | add: '*.pot' 41 | -------------------------------------------------------------------------------- /phoenicis-entities/src/main/java/org/phoenicis/entities/Architecture.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.entities; 20 | 21 | /** 22 | * Represents an architecture 23 | */ 24 | public enum Architecture { 25 | I386, AMD64; 26 | 27 | public String getNameForWinePackages() { 28 | switch (this) { 29 | case AMD64: 30 | return "amd64"; 31 | case I386: 32 | default: 33 | return "x86"; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/container/control/ContainersSidebarToggleGroup.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.container.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.containers.dto.ContainerCategoryDTO; 5 | import org.phoenicis.javafx.components.container.skin.ContainersSidebarToggleGroupSkin; 6 | import org.phoenicis.javafx.components.common.control.SidebarToggleGroupBase; 7 | 8 | /** 9 | * A toggle group component used inside the {@link ContainerSidebar} 10 | */ 11 | public class ContainersSidebarToggleGroup extends 12 | SidebarToggleGroupBase { 13 | /** 14 | * Constructor 15 | * 16 | * @param title The title of the containers sidebar toggle group 17 | * @param elements An observable list containing the elements of the sidebar toggle group 18 | */ 19 | public ContainersSidebarToggleGroup(String title, ObservableList elements) { 20 | super(title, elements); 21 | } 22 | 23 | /** 24 | * {@inheritDoc} 25 | */ 26 | @Override 27 | public ContainersSidebarToggleGroupSkin createSkin() { 28 | return new ContainersSidebarToggleGroupSkin(this); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/UiConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.ui; 20 | 21 | import org.springframework.context.annotation.Bean; 22 | import org.springframework.context.annotation.Configuration; 23 | 24 | @Configuration 25 | public interface UiConfiguration { 26 | @Bean 27 | SetupUiFactory setupUiFactory(); 28 | 29 | @Bean 30 | UiMessageSender uiMessageSender(); 31 | 32 | @Bean 33 | UiQuestionFactory uiQuestionFactory(); 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/controller/settings/SettingsController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.javafx.controller.settings; 20 | 21 | import org.phoenicis.javafx.views.mainwindow.settings.SettingsView; 22 | 23 | public class SettingsController { 24 | private final SettingsView view; 25 | 26 | public SettingsController(SettingsView view) { 27 | this.view = view; 28 | } 29 | 30 | public SettingsView getView() { 31 | return view; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/pe/rsrc/ImageResourceDirectoryEntry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.pe.rsrc; 20 | 21 | import org.phoenicis.win32.ULong; 22 | 23 | public class ImageResourceDirectoryEntry { 24 | final ULong nameOrId; 25 | final ULong offsetToData; 26 | 27 | public ImageResourceDirectoryEntry(byte[] bytes, int offset) { 28 | this.nameOrId = new ULong(bytes, offset); 29 | this.offsetToData = new ULong(bytes, offset + 4); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /phoenicis-repository/src/test/java/org/phoenicis/repository/types/NullRepositoryTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.repository.types; 20 | 21 | import org.junit.Test; 22 | import org.phoenicis.repository.dto.RepositoryDTO; 23 | 24 | import static org.junit.Assert.assertEquals; 25 | 26 | public class NullRepositoryTest { 27 | @Test 28 | public void testNullRepositoryTest() { 29 | assertEquals(new RepositoryDTO.Builder().build(), new NullRepository().fetchInstallableApplications()); 30 | } 31 | } -------------------------------------------------------------------------------- /docs/_docs/Developers/packages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Packages" 3 | category: Developers 4 | order: 2 5 | --- 6 | 7 | Run the build before packaging. 8 | 9 | ### deb 10 | Install required packages: 11 | ``` 12 | sudo apt install -y fakeroot openjdk-11-jdk-headless 13 | ``` 14 | 15 | build with: 16 | ``` 17 | cd phoenicis-dist/src/scripts 18 | bash phoenicis-create-package.sh 19 | ``` 20 | 21 | **NOTE:** Currently, the native Ubuntu OpenJDK has issues with differing hashes. Use e.g. [SDKMAN!](https://sdkman.io/) to install a different JDK for packaging: 22 | ``` 23 | cd 24 | sudo apt install -y curl 25 | curl -s "https://get.sdkman.io" | bash 26 | source "$HOME/.sdkman/bin/sdkman-init.sh" 27 | sdk install java 11.0.8.hs-adpt 28 | export JAVA_HOME=~/.sdkman/candidates/java/current/ 29 | ``` 30 | 31 | ### Flatpak 32 | Required extensions: 33 | - org.freedesktop.Platform.Compat.i386 34 | - org.freedesktop.Platform.GL32.nvidia-415-25 35 | - org.freedesktop.Sdk.Extension.openjdk11 36 | 37 | build with: 38 | ``` 39 | cd phoenicis-dist/src/flatpak/ 40 | flatpak-builder build-dir org.phoenicis.playonlinux.yml --force-clean --user --install 41 | ``` 42 | run with: 43 | ``` 44 | flatpak run org.phoenicis.playonlinux phoenicis-playonlinux 45 | ``` 46 | **Hint:** If you cannot compile after building the flatpak, remove `build-dir` and `.flatpak-builder`. 47 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/resources/org/phoenicis/scripts/engine/injectors/utils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | if (!String.prototype.format) { 20 | String.prototype.format = function () { 21 | var args = arguments; 22 | return this.replace(/{(\d+)}/g, function (match, number) { 23 | return typeof args[number] != 'undefined' 24 | ? args[number] 25 | : match; 26 | }); 27 | }; 28 | } 29 | 30 | function isArray(obj){ 31 | return !!obj && Array === obj.constructor; 32 | } -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/exceptions/ScriptException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.exceptions; 20 | 21 | /** 22 | * A generic script execution exception 23 | */ 24 | public class ScriptException extends RuntimeException { 25 | public ScriptException(Exception e) { 26 | super(e); 27 | } 28 | 29 | public ScriptException(String s, Exception e) { 30 | super(s, e); 31 | } 32 | 33 | public ScriptException(String s) { 34 | super(s); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/DwordValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public class DwordValueType extends AbstractValueType { 22 | private final long value; 23 | 24 | public DwordValueType(long value) { 25 | this.value = value; 26 | } 27 | 28 | @Override 29 | String getText() { 30 | return Long.toString(value); 31 | } 32 | 33 | @Override 34 | public String toRegString() { 35 | return "dword:" + getText(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/utils/SettingsSidebarItem.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.utils; 2 | 3 | import javafx.scene.Node; 4 | 5 | /** 6 | * This class contains all needed information to display and manage a settings panel 7 | */ 8 | public class SettingsSidebarItem { 9 | // the corresponding panel for this settings category 10 | private final Node panel; 11 | // the css class containing the icon for this settings category 12 | private final String iconClass; 13 | // the displayed name of this settings category 14 | private final String name; 15 | 16 | /** 17 | * Constructor 18 | * 19 | * @param panel The corresponding panel for this settings category 20 | * @param iconClass The css class containing the icon for this settings category 21 | * @param name The displayed name of this settings category 22 | */ 23 | public SettingsSidebarItem(Node panel, String iconClass, String name) { 24 | this.panel = panel; 25 | this.iconClass = iconClass; 26 | this.name = name; 27 | } 28 | 29 | public Node getPanel() { 30 | return panel; 31 | } 32 | 33 | public String getIconClass() { 34 | return iconClass; 35 | } 36 | 37 | public String getName() { 38 | return name; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/themes/Theme.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.themes; 2 | 3 | import java.net.URI; 4 | import java.util.Optional; 5 | 6 | /** 7 | * A theme for Phoenicis 8 | */ 9 | public abstract class Theme { 10 | /** 11 | * The name of this theme 12 | */ 13 | private final String name; 14 | 15 | /** 16 | * A shortened name of this theme 17 | */ 18 | private final String shortName; 19 | 20 | /** 21 | * Constructor 22 | * 23 | * @param name The name of the theme 24 | * @param shortName A shortened name of the theme 25 | */ 26 | protected Theme(String name, String shortName) { 27 | super(); 28 | 29 | this.name = name; 30 | this.shortName = shortName; 31 | } 32 | 33 | public String getName() { 34 | return this.name; 35 | } 36 | 37 | public String getShortName() { 38 | return this.shortName; 39 | } 40 | 41 | /** 42 | * Gets the {@link URI} leading to the given resource of the theme 43 | * 44 | * @param resource The searched resource 45 | * @return The uri leading to the given resource of the theme or {@link Optional#empty()} if the resource doesn't 46 | * exist in the theme 47 | */ 48 | public abstract Optional getResourceUri(String resource); 49 | } 50 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/StringValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public class StringValueType extends AbstractValueType { 22 | private final String content; 23 | 24 | public StringValueType(String content) { 25 | this.content = content; 26 | } 27 | 28 | @Override 29 | String getText() { 30 | return content; 31 | } 32 | 33 | @Override 34 | public String toRegString() { 35 | return String.format("\"%s\"", getText()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/installation/control/InstallationsSidebarToggleGroup.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.installation.control; 2 | 3 | import javafx.collections.ObservableList; 4 | import org.phoenicis.javafx.components.common.control.SidebarToggleGroupBase; 5 | import org.phoenicis.javafx.components.installation.skin.InstallationsSidebarToggleGroupSkin; 6 | import org.phoenicis.javafx.views.mainwindow.installations.dto.InstallationCategoryDTO; 7 | 8 | /** 9 | * A toggle group component used inside the {@link InstallationsSidebar} 10 | */ 11 | public class InstallationsSidebarToggleGroup extends 12 | SidebarToggleGroupBase { 13 | /** 14 | * Constructor 15 | * 16 | * @param title The title of the installations sidebar toggle group 17 | * @param elements An observable list containing the elements of the sidebar toggle group 18 | */ 19 | public InstallationsSidebarToggleGroup(String title, ObservableList elements) { 20 | super(title, elements); 21 | } 22 | 23 | /** 24 | * {@inheritDoc} 25 | */ 26 | @Override 27 | public InstallationsSidebarToggleGroupSkin createSkin() { 28 | return new InstallationsSidebarToggleGroupSkin(this); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/files/FreeSpaceFetcher.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.files; 20 | 21 | import org.phoenicis.configuration.security.Safe; 22 | 23 | import java.io.File; 24 | 25 | @Safe 26 | public final class FreeSpaceFetcher { 27 | private static final long KILOBYTE = 1024L; 28 | 29 | public long getFreeSpace(File directory) { 30 | return directory.getUsableSpace() / KILOBYTE; 31 | } 32 | 33 | public long getFreeSpace(String directory) { 34 | return getFreeSpace(new File(directory)); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/ExpandableValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public class ExpandableValueType extends AbstractValueType { 22 | private final String content; 23 | 24 | public ExpandableValueType(String content) { 25 | this.content = content; 26 | } 27 | 28 | @Override 29 | String getText() { 30 | return content; 31 | } 32 | 33 | @Override 34 | public String toRegString() { 35 | return String.format("str(2):\"%s\"", getText()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/MultiStringValueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public class MultiStringValueType extends AbstractValueType { 22 | private final String content; 23 | 24 | public MultiStringValueType(String content) { 25 | this.content = content; 26 | } 27 | 28 | @Override 29 | String getText() { 30 | return content; 31 | } 32 | 33 | @Override 34 | public String toRegString() { 35 | return String.format("str(7):\"%s\"", getText()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/setting/skin/SettingsSidebarSkin.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.setting.skin; 2 | 3 | import javafx.scene.control.ScrollPane; 4 | import org.phoenicis.javafx.components.common.skin.SidebarSkinBase; 5 | import org.phoenicis.javafx.components.setting.control.SettingsSidebar; 6 | import org.phoenicis.javafx.components.setting.control.SettingsSidebarToggleGroup; 7 | import org.phoenicis.javafx.components.setting.utils.SettingsSidebarItem; 8 | 9 | import static org.phoenicis.configuration.localisation.Localisation.tr; 10 | 11 | /** 12 | * The skin for the {@link SettingsSidebar} component 13 | */ 14 | public class SettingsSidebarSkin extends SidebarSkinBase { 15 | /** 16 | * Constructor 17 | * 18 | * @param control The control belonging to the skin 19 | */ 20 | public SettingsSidebarSkin(SettingsSidebar control) { 21 | super(control); 22 | } 23 | 24 | /** 25 | * {@inheritDoc} 26 | */ 27 | @Override 28 | protected ScrollPane createMainContent() { 29 | final SettingsSidebarToggleGroup sidebarToggleGroup = new SettingsSidebarToggleGroup( 30 | tr("Settings"), getControl().getItems(), getControl().selectedItemProperty()); 31 | 32 | return createScrollPane(sidebarToggleGroup); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-tools/src/main/java/org/phoenicis/tools/system/OperatingSystemFetcher.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.tools.system; 20 | 21 | import org.phoenicis.configuration.security.Safe; 22 | import org.phoenicis.entities.OperatingSystem; 23 | 24 | @Safe 25 | public class OperatingSystemFetcher { 26 | /** 27 | * Fetch the current Operating System 28 | * 29 | * @return The current operating system 30 | */ 31 | public OperatingSystem fetchCurrentOperationSystem() { 32 | return OperatingSystem.fromString(System.getProperty("os.name")); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/engine/ScriptEngineType.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.scripts.engine; 2 | 3 | import org.phoenicis.scripts.engine.implementation.PhoenicisScriptEngine; 4 | import org.phoenicis.scripts.engine.implementation.PolyglotScriptEngine; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * The supported script engine types 10 | */ 11 | public enum ScriptEngineType { 12 | GRAAL("graal.js") { 13 | @Override 14 | public PhoenicisScriptEngine createScriptEngine() { 15 | return new PolyglotScriptEngine("js", 16 | Map.of("js.nashorn-compat", "true", 17 | "js.experimental-foreign-object-prototype", "true")); 18 | } 19 | }; 20 | 21 | /** 22 | * The name of the script engine type 23 | */ 24 | private final String name; 25 | 26 | /** 27 | * Constructor 28 | * 29 | * @param name The name of the script engine type 30 | */ 31 | ScriptEngineType(String name) { 32 | this.name = name; 33 | } 34 | 35 | /** 36 | * Creates a new instance of the {@link ScriptEngineType} 37 | * 38 | * @return The new instance of the {@link ScriptEngineType} 39 | */ 40 | public abstract PhoenicisScriptEngine createScriptEngine(); 41 | 42 | @Override 43 | public String toString() { 44 | return this.name; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /phoenicis-configuration/src/main/java/org/phoenicis/configuration/PropertyReader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.configuration; 20 | 21 | import org.phoenicis.configuration.security.Safe; 22 | import org.springframework.beans.factory.annotation.Autowired; 23 | import org.springframework.context.ApplicationContext; 24 | 25 | @Safe 26 | public class PropertyReader { 27 | @Autowired 28 | private ApplicationContext applicationContext; 29 | 30 | public String getProperty(String property) { 31 | return applicationContext.getEnvironment().getProperty(property); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/views/mainwindow/console/ConsoleTextType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.javafx.views.mainwindow.console; 20 | 21 | public enum ConsoleTextType { 22 | NORMAL("normal"), DEFAULT("default"), ERROR("error"); 23 | 24 | private final String cssName; 25 | 26 | ConsoleTextType(String cssName) { 27 | this.cssName = cssName; 28 | } 29 | 30 | public String getCssName() { 31 | return cssName; 32 | } 33 | 34 | @Override 35 | public String toString() { 36 | return this.cssName; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /phoenicis-entities/src/test/java/org.phoenicis.entities/ArchitectureTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.entities; 20 | 21 | import org.junit.Test; 22 | 23 | import static org.junit.Assert.assertEquals; 24 | 25 | public class ArchitectureTest { 26 | @Test 27 | public void getNameForWinePackages64Bits() throws Exception { 28 | assertEquals("amd64", Architecture.AMD64.getNameForWinePackages()); 29 | } 30 | 31 | @Test 32 | public void getNameForWinePackages32Bits() throws Exception { 33 | assertEquals("x86", Architecture.I386.getNameForWinePackages()); 34 | } 35 | } -------------------------------------------------------------------------------- /phoenicis-repository/src/main/java/org/phoenicis/repository/DynamicRepositoryLocationLoader.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.repository; 2 | 3 | import org.phoenicis.repository.location.RepositoryLocation; 4 | import org.phoenicis.repository.types.Repository; 5 | import org.springframework.context.ApplicationContext; 6 | 7 | import java.util.List; 8 | 9 | public class DynamicRepositoryLocationLoader implements RepositoryLocationLoader { 10 | private final RepositoryLocationLoader delegated; 11 | 12 | public DynamicRepositoryLocationLoader(ApplicationContext applicationContext, String beanName) { 13 | this(applicationContext.getBean(beanName, RepositoryLocationLoader.class)); 14 | } 15 | 16 | public DynamicRepositoryLocationLoader(RepositoryLocationLoader repositoryLocationLoader) { 17 | this.delegated = repositoryLocationLoader; 18 | } 19 | 20 | @Override 21 | public List> getDefaultRepositoryLocations() { 22 | return delegated.getDefaultRepositoryLocations(); 23 | } 24 | 25 | @Override 26 | public List> loadRepositoryLocations() { 27 | return delegated.loadRepositoryLocations(); 28 | } 29 | 30 | @Override 31 | public void saveRepositories(List> repositoryLocations) { 32 | delegated.saveRepositories(repositoryLocations); 33 | } 34 | } -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/control/TabIndicator.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.control; 2 | 3 | import javafx.beans.property.SimpleStringProperty; 4 | import javafx.beans.property.StringProperty; 5 | import javafx.scene.control.Tab; 6 | import org.phoenicis.javafx.components.common.skin.TabIndicatorSkin; 7 | 8 | /** 9 | * An indicator symbol shown inside the header of a {@link Tab} object. 10 | * A {@link TabIndicator} can be used to inform the user about changes that occurred since the user visited the tab the 11 | * last time 12 | */ 13 | public class TabIndicator extends ControlBase { 14 | /** 15 | * The text shown inside the tab indicator 16 | */ 17 | private final StringProperty text; 18 | 19 | /** 20 | * Constructor 21 | */ 22 | public TabIndicator() { 23 | super(); 24 | 25 | this.text = new SimpleStringProperty(); 26 | } 27 | 28 | /** 29 | * {@inheritDoc} 30 | */ 31 | @Override 32 | public TabIndicatorSkin createSkin() { 33 | return new TabIndicatorSkin(this); 34 | } 35 | 36 | public String getText() { 37 | return this.text.get(); 38 | } 39 | 40 | public StringProperty textProperty() { 41 | return this.text; 42 | } 43 | 44 | public void setText(String text) { 45 | this.text.set(text); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /phoenicis-settings/src/main/java/org/phoenicis/settings/SettingsConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.settings; 20 | 21 | import org.springframework.beans.factory.annotation.Value; 22 | import org.springframework.context.annotation.Bean; 23 | import org.springframework.context.annotation.Configuration; 24 | 25 | @Configuration 26 | public class SettingsConfiguration { 27 | 28 | @Value("${application.user.settings}") 29 | private String settingsFileName; 30 | 31 | @Bean 32 | public SettingsManager settingsManager() { 33 | return new SettingsManager(settingsFileName); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/UiMessageSender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.ui; 20 | 21 | import java.util.function.Consumer; 22 | import java.util.function.Supplier; 23 | 24 | public interface UiMessageSender { 25 | R run(Supplier function); 26 | 27 | default R runAndWait(Consumer> function) { 28 | final Message message = new Message<>(); 29 | run(() -> { 30 | function.accept(message); 31 | return null; 32 | }); 33 | message.block(); 34 | 35 | return message.get(); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /phoenicis-win32/src/main/java/org/phoenicis/win32/registry/AbstractRegistryNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.win32.registry; 20 | 21 | public abstract class AbstractRegistryNode { 22 | final String name; 23 | 24 | RegistryKey parent; 25 | 26 | AbstractRegistryNode(String name) { 27 | this.name = name; 28 | } 29 | 30 | @Override 31 | public abstract String toString(); 32 | 33 | public abstract String toRegString(); 34 | 35 | void setParent(RegistryKey parent) { 36 | this.parent = parent; 37 | } 38 | 39 | public String getName() { 40 | return name; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/themes/ThemeConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.javafx.themes; 20 | 21 | import org.springframework.beans.factory.annotation.Value; 22 | import org.springframework.context.annotation.Bean; 23 | import org.springframework.context.annotation.Configuration; 24 | 25 | @Configuration 26 | public class ThemeConfiguration { 27 | @Value("${application.theme:standardTheme.css}") 28 | private String theme; 29 | 30 | @Bean 31 | public ThemeManager themeManager() { 32 | return new ThemeManager(Themes.fromShortName(theme).orElse(Themes.STANDARD)); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /phoenicis-javafx/src/main/java/org/phoenicis/javafx/components/common/skin/TabIndicatorSkin.java: -------------------------------------------------------------------------------- 1 | package org.phoenicis.javafx.components.common.skin; 2 | 3 | import javafx.scene.layout.Region; 4 | import javafx.scene.layout.StackPane; 5 | import javafx.scene.text.Text; 6 | import org.phoenicis.javafx.components.common.control.TabIndicator; 7 | 8 | /** 9 | * A skin implementation for the {@link TabIndicator} component 10 | */ 11 | public class TabIndicatorSkin extends SkinBase { 12 | /** 13 | * Constructor 14 | * 15 | * @param control The control belonging to the skin 16 | */ 17 | public TabIndicatorSkin(TabIndicator control) { 18 | super(control); 19 | } 20 | 21 | /** 22 | * {@inheritDoc} 23 | */ 24 | @Override 25 | public void initialise() { 26 | final Region circle = new Region(); 27 | circle.getStyleClass().add("indicator-circle"); 28 | 29 | final Text text = new Text(); 30 | text.getStyleClass().add("indicator-information"); 31 | text.textProperty().bind(getControl().textProperty()); 32 | 33 | final StackPane container = new StackPane(circle, text); 34 | container.getStyleClass().add("indicator-container"); 35 | 36 | final StackPane tabIndicator = new StackPane(container); 37 | tabIndicator.getStyleClass().add("tab-indicator"); 38 | 39 | getChildren().add(tabIndicator); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /phoenicis-scripts/src/main/java/org/phoenicis/scripts/ui/UiQuestionFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2017 PÂRIS Quentin 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 | */ 18 | 19 | package org.phoenicis.scripts.ui; 20 | 21 | public interface UiQuestionFactory { 22 | /** 23 | * creates a question UI (yes/no decision) 24 | * @param questionText question 25 | * @param yesCallback called when user selects "yes" 26 | * @param noCallback called when user selects "no" 27 | */ 28 | void create(String questionText, Runnable yesCallback, Runnable noCallback); 29 | 30 | default void create(String questionText, Runnable yesCallback) { 31 | create(questionText, yesCallback, () -> { 32 | }); 33 | } 34 | } 35 | --------------------------------------------------------------------------------