diff --git a/bin/v0.1-3/FXWinWrap_0.1-3_x64.deb b/bin/v0.1-3/FXWinWrap_0.1-3_x64.deb
new file mode 100644
index 0000000..6a4ee07
Binary files /dev/null and b/bin/v0.1-3/FXWinWrap_0.1-3_x64.deb differ
diff --git a/bin/v0.1-3/FXWinWrap_0.1-3_x86.deb b/bin/v0.1-3/FXWinWrap_0.1-3_x86.deb
new file mode 100644
index 0000000..b54a7c0
Binary files /dev/null and b/bin/v0.1-3/FXWinWrap_0.1-3_x86.deb differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/control b/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/control
new file mode 100644
index 0000000..e08092a
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/control
@@ -0,0 +1,9 @@
+Package: FXWinWrap
+Version: 0.1-2
+Section: base
+Priority: optional
+Architecture: amd64
+Depends: openjdk-8-jre (>= 8u45-b14-1), mplayer2 (>=2.0-728-g2c378c7-4), gifsicle (>=1.86-1), nitrogen (>=1.5.2-2)
+Maintainer: Maxim Stewart maximstewart1@gmail.com
+Description: FXWinWrap
+ A GUI to handle setting XWinWrap options.
diff --git a/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/postrm b/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/postrm
new file mode 100755
index 0000000..d6326d6
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/DEBIAN/postrm
@@ -0,0 +1,20 @@
+#!/bin/bash
+#postrm (script executed after uninstalling the package)
+#set -e
+
+if [ -f /bin/fxwinwrap ]; then
+ rm /bin/fxwinwrap
+fi
+
+if [ -d /opt/FXWinWrap ]; then
+ rm -rf /bin/fxwinwrap
+fi
+
+if [ -x "`which xdg-desktop-menu 2>/dev/null`" ]; then
+ xdg-desktop-menu uninstall /usr/share/applications/FXWinWrap.desktop
+ xdg-desktop-menu forceupdate --mode user
+fi
+
+if [ -x "`which update-menus 2>/dev/null`" ]; then
+update-menus
+fi
diff --git a/src/debs/FXWinWrap_0.1-3_x64/bin/fxwinwrap b/src/debs/FXWinWrap_0.1-3_x64/bin/fxwinwrap
new file mode 100755
index 0000000..99efd97
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x64/bin/fxwinwrap differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/Controller.class b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/Controller.class
new file mode 100644
index 0000000..d4e7a3d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/Controller.class differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/XWWMenu.class b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/XWWMenu.class
new file mode 100644
index 0000000..272ff4c
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/XWWMenu.class differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/launch.sh b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/Window.fxml b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/Window.fxml
new file mode 100644
index 0000000..341c076
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/Window.fxml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/StartXWW.sh b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..e81bcac
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child processes alive from java's
+nohup bash ~/.animatedBGstarter.sh &> /dev/null &
+nohup bash ~/.animatedBGstarter2.sh &> /dev/null &
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/ffmpegthumbnailer b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/bin/ffmpegthumbnailer differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/fxwinwrap.png b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/fxwinwrap.png
new file mode 100644
index 0000000..cdd708d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/fxwinwrap.png differ
diff --git a/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/stylesheet.css b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/stylesheet.css
new file mode 100644
index 0000000..e91c2fe
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/opt/FXWinWrap/resources/stylesheet.css
@@ -0,0 +1,3 @@
+.root {
+ -fx-background: rgba(68, 68, 68, 0.8); // == #444444;
+}
diff --git a/src/debs/FXWinWrap_0.1-3_x64/usr/share/applications/FXWinWrap.desktop b/src/debs/FXWinWrap_0.1-3_x64/usr/share/applications/FXWinWrap.desktop
new file mode 100644
index 0000000..d4bf2de
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x64/usr/share/applications/FXWinWrap.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=FXWinWrap
+Comment=JavaFX gui for XWinWrap
+Exec=/bin/fxwinwrap
+Icon=/opt/FXWinWrap/resources/fxwinwrap.png
+Terminal=false
+Type=Application
+Categories=Applications;System;
+MimeType=application/fxml;
diff --git a/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/control b/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/control
new file mode 100644
index 0000000..46aadf4
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/control
@@ -0,0 +1,9 @@
+Package: FXWinWrap
+Version: 0.1-2
+Section: base
+Priority: optional
+Architecture: i386
+Depends: openjdk-8-jre (>= 8u45-b14-1), mplayer2 (>=2.0-728-g2c378c7-4), gifsicle (>=1.86-1), nitrogen (>=1.5.2-2)
+Maintainer: Maxim Stewart maximstewart1@gmail.com
+Description: FXWinWrap
+ A GUI to handle setting XWinWrap options.
diff --git a/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/postrm b/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/postrm
new file mode 100755
index 0000000..d6326d6
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/DEBIAN/postrm
@@ -0,0 +1,20 @@
+#!/bin/bash
+#postrm (script executed after uninstalling the package)
+#set -e
+
+if [ -f /bin/fxwinwrap ]; then
+ rm /bin/fxwinwrap
+fi
+
+if [ -d /opt/FXWinWrap ]; then
+ rm -rf /bin/fxwinwrap
+fi
+
+if [ -x "`which xdg-desktop-menu 2>/dev/null`" ]; then
+ xdg-desktop-menu uninstall /usr/share/applications/FXWinWrap.desktop
+ xdg-desktop-menu forceupdate --mode user
+fi
+
+if [ -x "`which update-menus 2>/dev/null`" ]; then
+update-menus
+fi
diff --git a/src/debs/FXWinWrap_0.1-3_x86/bin/fxwinwrap b/src/debs/FXWinWrap_0.1-3_x86/bin/fxwinwrap
new file mode 100755
index 0000000..99efd97
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x86/bin/fxwinwrap differ
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/Controller.class b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/Controller.class
new file mode 100644
index 0000000..d4e7a3d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/Controller.class differ
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/XWWMenu.class b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/XWWMenu.class
new file mode 100644
index 0000000..272ff4c
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/XWWMenu.class differ
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/launch.sh b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/Window.fxml b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/Window.fxml
new file mode 100644
index 0000000..341c076
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/Window.fxml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/StartXWW.sh b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..e81bcac
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child processes alive from java's
+nohup bash ~/.animatedBGstarter.sh &> /dev/null &
+nohup bash ~/.animatedBGstarter2.sh &> /dev/null &
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer differ
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/fxwinwrap.png b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/fxwinwrap.png
new file mode 100644
index 0000000..cdd708d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/fxwinwrap.png differ
diff --git a/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/stylesheet.css b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/stylesheet.css
new file mode 100644
index 0000000..e91c2fe
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/opt/FXWinWrap/resources/stylesheet.css
@@ -0,0 +1,3 @@
+.root {
+ -fx-background: rgba(68, 68, 68, 0.8); // == #444444;
+}
diff --git a/src/debs/FXWinWrap_0.1-3_x86/usr/share/applications/FXWinWrap.desktop b/src/debs/FXWinWrap_0.1-3_x86/usr/share/applications/FXWinWrap.desktop
new file mode 100644
index 0000000..d4bf2de
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-3_x86/usr/share/applications/FXWinWrap.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=FXWinWrap
+Comment=JavaFX gui for XWinWrap
+Exec=/bin/fxwinwrap
+Icon=/opt/FXWinWrap/resources/fxwinwrap.png
+Terminal=false
+Type=Application
+Categories=Applications;System;
+MimeType=application/fxml;
diff --git a/src/versions/v0.0.3/Controller.java b/src/versions/v0.0.3/Controller.java
new file mode 100644
index 0000000..9d319c6
--- /dev/null
+++ b/src/versions/v0.0.3/Controller.java
@@ -0,0 +1,238 @@
+import javafx.stage.*;
+import javafx.scene.Scene;
+import javafx.fxml.FXML;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.TilePane;
+import javafx.scene.control.*;
+import javafx.event.ActionEvent;
+import javafx.scene.input.KeyEvent;
+import javafx.scene.input.KeyCode;
+import javafx.scene.input.MouseEvent;
+import javafx.geometry.Insets;
+import java.io.*;
+
+
+public class Controller {
+ private DirectoryChooser folderChooser = new DirectoryChooser(); // Selects a dir
+ private FileChooser fileChooser = new FileChooser(); // Selects a file
+ private FileWriter fileWriter; // Writes to files
+ private File directory, sveFileLoc; // Path to file or dir
+ private Image pth = new Image("."); // Path to image
+ private ImageView imgView = new ImageView(pth); // Image view area
+ private Process pb; // Process runner
+ private String tmpPath, resolution, xScreenVal, output,
+ startScrpt = System.getProperty("user.dir") + "/resources/bin/StartXWW.sh", // Gets shell that starts stuff local
+ ffmpg = System.getProperty("user.dir") + "/resources/bin/ffmpegthumbnailer", // Gets ffmpeg local
+ textAreaPth = "";
+ private int applyType = 1;
+ private Stage fileChooserStage;
+ @FXML private ListView> selXScreenSvr;
+ @FXML private Label dirLbl, errorField; // Labels
+ @FXML private TilePane tilePane;
+ @FXML private TextField dirPathField, filePathField; // Text fields
+ @FXML private CheckBox lftScrn, rghtScrn, useXSvrn; // Check boxes
+ @FXML private ChoiceBox> listLftRes, listRgthRes, listSaveLoc; // Choice box fields
+ @FXML private Button applyBttn, closeBttn, fileBttn, clear, // Buttons
+ killBttn, restartBttn, saveBttn;
+
+ // This method is called by the FXMLLoader when initialization is complete
+ @FXML void initialize() {
+ assert clear != null : "fx:id=\"clear\" was not injected: check your FXML file 'Window.fxml'.";
+ assert closeBttn != null : "fx:id=\"closeBttn\" was not injected: check your FXML file 'Window.fxml'.";
+ assert dirLbl != null : "fx:id=\"dirLbl\" was not injected: check your FXML file 'Window.fxml'.";
+ assert errorField != null : "fx:id=\"errorField\" was not injected: check your FXML file 'Window.fxml'.";
+ assert filePathField != null : "fx:id=\"filePathField\" was not injected: check your FXML file 'Window.fxml'.";
+ assert lftScrn != null : "fx:id=\"lftScrn\" was not injected: check your FXML file 'Window.fxml'.";
+ assert listLftRes != null : "fx:id=\"listLftRes\" was not injected: check your FXML file 'Window.fxml'.";
+ assert listRgthRes != null : "fx:id=\"listRgthRes\" was not injected: check your FXML file 'Window.fxml'.";
+ assert listSaveLoc != null : "fx:id=\"listSaveLoc\" was not injected: check your FXML file 'Window.fxml'.";
+ assert rghtScrn != null : "fx:id=\"rghtScrn\" was not injected: check your FXML file 'Window.fxml'.";
+ assert selXScreenSvr != null : "fx:id=\"selXScreenSvr\" was not injected: check your FXML file 'Window.fxml'.";
+ assert tilePane != null : "fx:id=\"tilePane\" was not injected: check your FXML file 'Window.fxml'.";
+ assert useXSvrn != null : "fx:id=\"useXSvrn\" was not injected: check your FXML file 'Window.fxml'.";
+ // Initialize your logic here: all @FXML variables will have been injected
+ }
+
+ // Handler for TextArea[fx:id="dirPathField"] onKeyReleased
+ @FXML void setNewDir(MouseEvent event) { newDir(); }
+ @FXML void onEnter(KeyEvent event) {
+ if (event.getCode().equals(KeyCode.ENTER)) {
+ textAreaPth = dirPathField.getText();
+ System.out.println(textAreaPth);
+ newDir();
+ }
+ else
+ System.out.println("Not calling newDir...");
+ }
+
+ public void newDir() {
+ Stage stage = new Stage();
+ if (textAreaPth != "")
+ directory = new File(textAreaPth);
+ else
+ directory = folderChooser.showDialog(stage);
+
+ File[] fileList = directory.listFiles();
+ int size = fileList.length;
+ tilePane.getChildren().clear();
+ dirPathField.setText("" + directory);
+ for (int i=0; i {
+ if (mouse.getClickCount() == 2 && !mouse.isConsumed()) {
+ mouse.consume();
+ try {
+ pb = Runtime.getRuntime().exec(vExec);
+ } catch(IOException vidIOErr) {
+ throw new UncheckedIOException(vidIOErr);
+ }
+ }
+ filePathField.setText(path);
+ });
+ } else if(fileList[i].getName().contains(".png") || fileList[i].getName().contains(".jpg")||
+ fileList[i].getName().contains(".gif") || fileList[i].getName().contains(".jpeg")) {
+ imgView = new ImageView("file://" + fileList[i]);
+ String title = "" + fileList[i];
+ imgView.setFitWidth(300); // Need these here to get grid properly.
+ imgView.setFitHeight(200);
+ tilePane.getChildren().add(imgView);
+ final ImageView imgViewPoped = new ImageView("file://" + fileList[i]);
+ // image click actions
+ imgView.setOnMouseClicked(mouse -> {
+ if (mouse.getClickCount() == 2 && !mouse.isConsumed()) {
+ mouse.consume();
+ displayImg(imgViewPoped, title);
+ }
+ filePathField.setText(path);
+ });
+ } else {
+ System.out.println("Not a video or image file.");
+ }
+ }
+ }
+
+ public void displayImg(ImageView imgViewPoped, String title) {
+ Stage popOut = new Stage();
+ Pane pane = new Pane();
+ imgViewPoped.setLayoutX(0);
+ imgViewPoped.setLayoutY(0);
+ imgViewPoped.fitWidthProperty().bind(pane.widthProperty());
+ imgViewPoped.fitHeightProperty().bind(pane.heightProperty());
+ pane.getChildren().add(imgViewPoped);
+ Scene scene = new Scene(pane, 1280, 900);
+ popOut.setTitle(title);
+ popOut.setScene(scene);
+ popOut.show();
+ }
+
+ // Kill xwinwrap process
+ @FXML void killXWinWrp(ActionEvent event) throws Exception {
+ pb = Runtime.getRuntime().exec("killall xwinwrap &");
+ pb.waitFor();
+ }
+ // Restart xwinwrap process
+ @FXML void restartXWinWrp(ActionEvent event) throws Exception {
+ pb = Runtime.getRuntime().exec("killall xwinwrap &");
+ pb = Runtime.getRuntime().exec(startScrpt);
+ pb.waitFor();
+ }
+ // Pass resolution values
+ @FXML void passXScreenVal() {
+ xScreenVal = "" + selXScreenSvr.getSelectionModel().getSelectedItem();
+ }
+ // Preliminary setup to save settings to files
+ @FXML void saveToFile(ActionEvent saveEvent) throws Exception {
+
+ // Saves to file with selected and needed settings
+ if(filePathField.getText().toLowerCase().contains(".jpg") ||
+ filePathField.getText().toLowerCase().contains(".jpeg") ||
+ filePathField.getText().toLowerCase().contains(".png") ||
+ filePathField.getText().toLowerCase().contains(".gif"))
+ sveFileLoc = new File(System.getProperty("user.home") + "/" + ".config/nitrogen/bg-saved.cfg");
+ else
+ sveFileLoc = new File(System.getProperty("user.home") + "/" + listSaveLoc.getValue());
+
+ fileWriter = new FileWriter(sveFileLoc);
+ errorField.setText("");
+ if (lftScrn.isSelected() == true && rghtScrn.isSelected() == true)
+ errorField.setText("Please only check one...");
+ else if (lftScrn.isSelected() == false && rghtScrn.isSelected() == false)
+ errorField.setText("Please check one...");
+ else if (lftScrn.isSelected() == true && rghtScrn.isSelected() == false) {
+ resolution = "" + listLftRes.getValue();
+ startSave();
+ }
+ else if (rghtScrn.isSelected() == true && lftScrn.isSelected() == false) {
+ resolution = "" + listLftRes.getValue() + "" + listRgthRes.getValue();
+ startSave();
+ } else { startSave(); }
+ }
+ // Save settings to files
+ void startSave() throws Exception {
+ // XSCREENSAVER
+ if (useXSvrn.isSelected() == true) {
+ output = "xwinwrap -ov -g " + resolution + " -st -sp -b -nf -s -ni -- /usr/lib/xscreensaver/" + xScreenVal + " -window-id WID -root";
+ fileWriter.write(output);
+ applyType = 1;
+ // GIF
+ } else if (filePathField.getText().toLowerCase().contains(".gif")) {
+ output = "xwinwrap -ov -g " + resolution + " -st -sp -b -nf -s -ni -- gifview -a -w WID " + filePathField.getText();
+ fileWriter.write(output);
+ applyType = 1;
+ // Standard images using nitrogen
+ } else if(filePathField.getText().toLowerCase().contains(".jpg") ||
+ filePathField.getText().toLowerCase().contains(".png")) {
+ output = "[xin_0] \n file=" + filePathField.getText() + "\nmode=0 \nbgcolor=#000000\n" +
+ "[xin_1] \nfile=" + filePathField.getText() + "\nmode=0 \nbgcolor=#000000";
+ fileWriter.write(output);
+ applyType = 2;
+ //VIDEO
+ } else {
+ output = "xwinwrap -ov -g " + resolution + " -st -sp -b -nf -s -ni -- mplayer -wid WID -nosound -loop 0 " + filePathField.getText();
+ fileWriter.write(output);
+ applyType = 1;
+ }
+ fileWriter.close();
+ }
+ // Run changes
+ @FXML void applySttngs(ActionEvent event) throws Exception {
+ pb = Runtime.getRuntime().exec("killall xwinwrap &");
+ if (applyType == 1) {
+ pb = Runtime.getRuntime().exec(startScrpt);
+ pb.waitFor();
+ } else if (applyType == 2) {
+ pb = Runtime.getRuntime().exec("nitrogen --restore");
+ pb.waitFor();
+ } else
+ pb = Runtime.getRuntime().exec("nitrogen --restore");
+ pb.waitFor();
+ }
+ // Clean selection to start new search.
+ @FXML void clearBttnClick(ActionEvent event) {
+ tilePane.getChildren().clear();
+ tilePane.getChildren().addAll(dirLbl);
+ dirPathField.setText("");
+ filePathField.setText("");
+ }
+ // Closes program
+ @FXML void closeProg(ActionEvent event) { System.exit(0); }
+}
diff --git a/src/versions/v0.0.3/XWWMenu.java b/src/versions/v0.0.3/XWWMenu.java
new file mode 100644
index 0000000..2c9066b
--- /dev/null
+++ b/src/versions/v0.0.3/XWWMenu.java
@@ -0,0 +1,23 @@
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.stage.Stage;
+import javafx.scene.Scene;
+import javafx.scene.layout.AnchorPane;
+
+
+
+public class XWWMenu extends Application {
+ @Override
+ public void start(final Stage stage) throws Exception {
+ Scene scene = new Scene(FXMLLoader.load(XWWMenu.class.getResource("resources/Window.fxml")));
+ scene.getStylesheets().add("resources/stylesheet.css");
+ stage.setScene(scene);
+ //stage.setResizable(false); // keeps window from resizing
+ stage.setTitle("XWinWrap Menu");
+ stage.setMinWidth(800);
+ stage.setMinHeight(600);
+ stage.show();
+ }
+ // needed because you know... it's java.
+ public static void main(String[] args) { launch(args); }
+}
diff --git a/src/versions/v0.0.3/fxwinwrap_exec_bin.cpp b/src/versions/v0.0.3/fxwinwrap_exec_bin.cpp
new file mode 100644
index 0000000..4ea961e
--- /dev/null
+++ b/src/versions/v0.0.3/fxwinwrap_exec_bin.cpp
@@ -0,0 +1,10 @@
+#include
+#include
+#include
+using namespace std;
+
+int main() {
+ chdir("/opt/FXWinWrap/");
+ system("bash launch.sh");
+return 0;
+}
diff --git a/src/versions/v0.0.3/launch.sh b/src/versions/v0.0.3/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/versions/v0.0.3/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/versions/v0.0.3/resources/Window.fxml b/src/versions/v0.0.3/resources/Window.fxml
new file mode 100644
index 0000000..341c076
--- /dev/null
+++ b/src/versions/v0.0.3/resources/Window.fxml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/versions/v0.0.3/resources/bin/StartXWW.sh b/src/versions/v0.0.3/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..e81bcac
--- /dev/null
+++ b/src/versions/v0.0.3/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child processes alive from java's
+nohup bash ~/.animatedBGstarter.sh &> /dev/null &
+nohup bash ~/.animatedBGstarter2.sh &> /dev/null &
diff --git a/src/versions/v0.0.3/resources/bin/ffmpegthumbnailer b/src/versions/v0.0.3/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/versions/v0.0.3/resources/bin/ffmpegthumbnailer differ
diff --git a/src/versions/v0.0.3/resources/fxwinwrap.png b/src/versions/v0.0.3/resources/fxwinwrap.png
new file mode 100644
index 0000000..cdd708d
Binary files /dev/null and b/src/versions/v0.0.3/resources/fxwinwrap.png differ
diff --git a/src/versions/v0.0.3/resources/stylesheet.css b/src/versions/v0.0.3/resources/stylesheet.css
new file mode 100644
index 0000000..cf3a3b2
--- /dev/null
+++ b/src/versions/v0.0.3/resources/stylesheet.css
@@ -0,0 +1,5 @@
+.root {
+ -fx-background: rgba(68, 68, 68, 0.8); // == #444444;
+}
+.button {
+}