diff --git a/bin/FXWinWrap_v0.0.1/FXWinWrap_0.1-1_x64.deb b/bin/FXWinWrap_v0.0.1/v0.1-1/FXWinWrap_0.1-1_x64.deb
similarity index 100%
rename from bin/FXWinWrap_v0.0.1/FXWinWrap_0.1-1_x64.deb
rename to bin/FXWinWrap_v0.0.1/v0.1-1/FXWinWrap_0.1-1_x64.deb
diff --git a/bin/FXWinWrap_v0.0.1/FXWinWrap_0.1-1_x86.deb b/bin/FXWinWrap_v0.0.1/v0.1-1/FXWinWrap_0.1-1_x86.deb
similarity index 100%
rename from bin/FXWinWrap_v0.0.1/FXWinWrap_0.1-1_x86.deb
rename to bin/FXWinWrap_v0.0.1/v0.1-1/FXWinWrap_0.1-1_x86.deb
diff --git a/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x64.deb b/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x64.deb
new file mode 100644
index 0000000..1e24d07
Binary files /dev/null and b/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x64.deb differ
diff --git a/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x86.deb b/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x86.deb
new file mode 100644
index 0000000..8a97e42
Binary files /dev/null and b/bin/FXWinWrap_v0.0.1/v0.1-2/FXWinWrap_0.1-2_x86.deb differ
diff --git a/src/debs/FXWinWrap_0.1-1_x86/DEBIAN/control b/src/debs/FXWinWrap_0.1-1_x86/DEBIAN/control
index b5e06db..70eda4b 100644
--- a/src/debs/FXWinWrap_0.1-1_x86/DEBIAN/control
+++ b/src/debs/FXWinWrap_0.1-1_x86/DEBIAN/control
@@ -2,7 +2,7 @@ Package: FXWinWrap
Version: 0.1-1
Section: base
Priority: optional
-Architecture: amd64
+Architecture: i386
Depends: openjdk-8-jre (>= 8u45-b14-1)
Maintainer: Maxim Stewart maximstewart1@gmail.com
Description: FXWinWrap
diff --git a/src/debs/FXWinWrap_0.1-2_x64/DEBIAN/control b/src/debs/FXWinWrap_0.1-2_x64/DEBIAN/control
new file mode 100644
index 0000000..e08092a
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x64/DEBIAN/postrm b/src/debs/FXWinWrap_0.1-2_x64/DEBIAN/postrm
new file mode 100755
index 0000000..d6326d6
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x64/bin/fxwinwrap b/src/debs/FXWinWrap_0.1-2_x64/bin/fxwinwrap
new file mode 100755
index 0000000..99efd97
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x64/bin/fxwinwrap differ
diff --git a/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/Controller.class b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/Controller.class
new file mode 100644
index 0000000..0c561e1
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/Controller.class differ
diff --git a/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/XWWMenu.class b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/XWWMenu.class
new file mode 100644
index 0000000..863ed9f
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/XWWMenu.class differ
diff --git a/src/v0.0.1/launch.sh b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/launch.sh
similarity index 100%
rename from src/v0.0.1/launch.sh
rename to src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/launch.sh
diff --git a/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/Window.fxml b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/Window.fxml
new file mode 100644
index 0000000..2656efd
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/Window.fxml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/v0.0.1/resources/bin/StartXWW.sh b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/bin/StartXWW.sh
similarity index 100%
rename from src/v0.0.1/resources/bin/StartXWW.sh
rename to src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/bin/StartXWW.sh
diff --git a/src/v0.0.1/resources/bin/ffmpegthumbnailer b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/bin/ffmpegthumbnailer
similarity index 100%
rename from src/v0.0.1/resources/bin/ffmpegthumbnailer
rename to src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/bin/ffmpegthumbnailer
diff --git a/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/fxwinwrap.png b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/fxwinwrap.png
new file mode 100644
index 0000000..cdd708d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/fxwinwrap.png differ
diff --git a/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/stylesheet.css b/src/debs/FXWinWrap_0.1-2_x64/opt/FXWinWrap/resources/stylesheet.css
new file mode 100644
index 0000000..e91c2fe
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x64/usr/share/applications/FXWinWrap.desktop b/src/debs/FXWinWrap_0.1-2_x64/usr/share/applications/FXWinWrap.desktop
new file mode 100644
index 0000000..d4bf2de
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x86/DEBIAN/control b/src/debs/FXWinWrap_0.1-2_x86/DEBIAN/control
new file mode 100644
index 0000000..46aadf4
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x86/DEBIAN/postrm b/src/debs/FXWinWrap_0.1-2_x86/DEBIAN/postrm
new file mode 100755
index 0000000..d6326d6
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x86/bin/fxwinwrap b/src/debs/FXWinWrap_0.1-2_x86/bin/fxwinwrap
new file mode 100755
index 0000000..99efd97
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x86/bin/fxwinwrap differ
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/Controller.class b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/Controller.class
new file mode 100644
index 0000000..0c561e1
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/Controller.class differ
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/XWWMenu.class b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/XWWMenu.class
new file mode 100644
index 0000000..863ed9f
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/XWWMenu.class differ
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/launch.sh b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/Window.fxml b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/Window.fxml
new file mode 100644
index 0000000..2656efd
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/Window.fxml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/StartXWW.sh b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..9d9eb77
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child process alive from java's
+xterm -e nohup ~/.animatedBGstarter.sh
+xterm -e nohup ~/.animatedBGstarter2.sh
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/bin/ffmpegthumbnailer differ
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/fxwinwrap.png b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/fxwinwrap.png
new file mode 100644
index 0000000..cdd708d
Binary files /dev/null and b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/fxwinwrap.png differ
diff --git a/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/stylesheet.css b/src/debs/FXWinWrap_0.1-2_x86/opt/FXWinWrap/resources/stylesheet.css
new file mode 100644
index 0000000..e91c2fe
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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-2_x86/usr/share/applications/FXWinWrap.desktop b/src/debs/FXWinWrap_0.1-2_x86/usr/share/applications/FXWinWrap.desktop
new file mode 100644
index 0000000..d4bf2de
--- /dev/null
+++ b/src/debs/FXWinWrap_0.1-2_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/v0.0.1/Controller.java b/src/versions/v0.0.1/Controller.java
similarity index 100%
rename from src/v0.0.1/Controller.java
rename to src/versions/v0.0.1/Controller.java
diff --git a/src/v0.0.1/XWWMenu.java b/src/versions/v0.0.1/XWWMenu.java
similarity index 100%
rename from src/v0.0.1/XWWMenu.java
rename to src/versions/v0.0.1/XWWMenu.java
diff --git a/src/v0.0.1/fxwinwrap_exec_bin.cpp b/src/versions/v0.0.1/fxwinwrap_exec_bin.cpp
similarity index 100%
rename from src/v0.0.1/fxwinwrap_exec_bin.cpp
rename to src/versions/v0.0.1/fxwinwrap_exec_bin.cpp
diff --git a/src/versions/v0.0.1/launch.sh b/src/versions/v0.0.1/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/versions/v0.0.1/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/v0.0.1/resources/Window.fxml b/src/versions/v0.0.1/resources/Window.fxml
similarity index 100%
rename from src/v0.0.1/resources/Window.fxml
rename to src/versions/v0.0.1/resources/Window.fxml
diff --git a/src/versions/v0.0.1/resources/bin/StartXWW.sh b/src/versions/v0.0.1/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..9d9eb77
--- /dev/null
+++ b/src/versions/v0.0.1/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child process alive from java's
+xterm -e nohup ~/.animatedBGstarter.sh
+xterm -e nohup ~/.animatedBGstarter2.sh
diff --git a/src/versions/v0.0.1/resources/bin/ffmpegthumbnailer b/src/versions/v0.0.1/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/versions/v0.0.1/resources/bin/ffmpegthumbnailer differ
diff --git a/src/v0.0.1/resources/startImg.jpg b/src/versions/v0.0.1/resources/startImg.jpg
similarity index 100%
rename from src/v0.0.1/resources/startImg.jpg
rename to src/versions/v0.0.1/resources/startImg.jpg
diff --git a/src/versions/v0.0.2/Controller.java b/src/versions/v0.0.2/Controller.java
new file mode 100644
index 0000000..007e0fd
--- /dev/null
+++ b/src/versions/v0.0.2/Controller.java
@@ -0,0 +1,250 @@
+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.VBox;
+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 Image imgPath; // tmp
+
+ 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 VBox thumbImgView; // Vertical image area
+ @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;
+
+
+ @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 thumbImgView != null : "fx:id=\"thumbImgView\" was not injected: check your FXML file 'Window.fxml'.";
+ assert dirPathField != null : "fx:id=\"dirPathField\" 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 applyBttn != null : "fx:id=\"applyBttn\" was not injected: check your FXML file 'Window.fxml'.";
+ assert fileBttn != null : "fx:id=\"fileBttn\" 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 killBttn != null : "fx:id=\"killBttn\" 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 restartBttn != null : "fx:id=\"restartBttn\" 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 saveBttn != null : "fx:id=\"saveBttn\" 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 filePathField != null : "fx:id=\"filePathField\" was not injected: check your FXML file 'Window.fxml'.";
+ assert useXSvrn != null : "fx:id=\"useXSvrn\" was not injected: check your FXML file 'Window.fxml'.";
+ }
+
+ // Sets the dir path in dir label area and continues with scan
+ @FXML void setNewDir(MouseEvent event) { newDir(); }
+ @FXML void onEnter(KeyEvent event) {
+ if (event.getCode().equals(KeyCode.ENTER)) {
+ textAreaPth = dirPathField.getText();
+ newDir();
+ }
+ }
+
+ // Gets list of files then checks if image or video.
+ // Creates thumbnail imgs for the vids and then sets up
+ // onclick events to either play video or open enlarged image.
+ public void newDir() {
+ Stage stage = new Stage();
+ if (textAreaPth != "")
+ directory = new File(textAreaPth);
+ else
+ directory = folderChooser.showDialog(stage);
+
+ File[] fileList = directory.listFiles(); // Listed contents of diir
+ int size = fileList.length; // List length
+ double posY = 0.0;
+ thumbImgView.getChildren().clear(); // Clears children if any to setup for new images
+ 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]);
+ thumbImgView.getChildren().add(imgView);
+ final ImageView imgViewPoped = new ImageView("file://" + fileList[i]);
+
+ imgView.setOnMouseClicked(mouse -> {
+ if (mouse.getClickCount() == 2 && !mouse.isConsumed()) {
+ mouse.consume();
+ displayImg(imgViewPoped, path);
+ }
+ filePathField.setText(path);
+ });
+ } else {
+ System.out.println("Not a video or image file.");
+ }
+ posY = posY + 355.0;
+ }
+ }
+ // View Image enlarged Note, sets up a seperate stage and scene with auto enlargment
+ public void displayImg(ImageView imgViewPoped, String path) {
+ Stage popOut = new Stage();
+ Pane pane = new Pane();
+ Scene scene = new Scene(pane, 1280, 900);
+
+ imgViewPoped.setLayoutX(0);
+ imgViewPoped.setLayoutY(0);
+ imgViewPoped.fitWidthProperty().bind(pane.widthProperty());
+ imgViewPoped.fitHeightProperty().bind(pane.heightProperty());
+ pane.getChildren().addAll(imgViewPoped);
+ popOut.setTitle(path);
+ 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) {
+ thumbImgView.getChildren().clear();
+ thumbImgView.getChildren().addAll(dirLbl);
+ dirPathField.setText("");
+ filePathField.setText("");
+ }
+ // Closes program
+ @FXML void closeProg(ActionEvent event) { System.exit(0); }
+}
diff --git a/src/versions/v0.0.2/XWWMenu.java b/src/versions/v0.0.2/XWWMenu.java
new file mode 100644
index 0000000..b604da1
--- /dev/null
+++ b/src/versions/v0.0.2/XWWMenu.java
@@ -0,0 +1,19 @@
+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(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.setTitle("XWinWrap Menu");
+ stage.setResizable(false);
+ stage.show();
+ }
+ public static void main(String[] args) { launch(args); }
+}
diff --git a/src/versions/v0.0.2/fxwinwrap_exec_bin.cpp b/src/versions/v0.0.2/fxwinwrap_exec_bin.cpp
new file mode 100644
index 0000000..4ea961e
--- /dev/null
+++ b/src/versions/v0.0.2/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.2/launch.sh b/src/versions/v0.0.2/launch.sh
new file mode 100755
index 0000000..c9fead3
--- /dev/null
+++ b/src/versions/v0.0.2/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+java XWWMenu
diff --git a/src/versions/v0.0.2/resources/Window.fxml b/src/versions/v0.0.2/resources/Window.fxml
new file mode 100644
index 0000000..2656efd
--- /dev/null
+++ b/src/versions/v0.0.2/resources/Window.fxml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/versions/v0.0.2/resources/bin/StartXWW.sh b/src/versions/v0.0.2/resources/bin/StartXWW.sh
new file mode 100755
index 0000000..9d9eb77
--- /dev/null
+++ b/src/versions/v0.0.2/resources/bin/StartXWW.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+### nohup is needed to keep child process alive from java's
+xterm -e nohup ~/.animatedBGstarter.sh
+xterm -e nohup ~/.animatedBGstarter2.sh
diff --git a/src/versions/v0.0.2/resources/bin/ffmpegthumbnailer b/src/versions/v0.0.2/resources/bin/ffmpegthumbnailer
new file mode 100755
index 0000000..c35faf9
Binary files /dev/null and b/src/versions/v0.0.2/resources/bin/ffmpegthumbnailer differ
diff --git a/src/versions/v0.0.2/resources/stylesheet.css b/src/versions/v0.0.2/resources/stylesheet.css
new file mode 100644
index 0000000..e91c2fe
--- /dev/null
+++ b/src/versions/v0.0.2/resources/stylesheet.css
@@ -0,0 +1,3 @@
+.root {
+ -fx-background: rgba(68, 68, 68, 0.8); // == #444444;
+}