Setup jar configuration. New version number too.
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-4-x64.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-4-x64.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-4-x86.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-4-x86.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-5-x64.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-5-x64.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-5-x86.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/v0.1-5/fxwinwrap-0-1-5-x86.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -4,24 +4,29 @@ | |||||||
| function main() { | function main() { | ||||||
|     sudo find . -type f -exec chmod 644 {} + |     sudo find . -type f -exec chmod 644 {} + | ||||||
|     sudo find . -type d -exec chmod 755 {} + |     sudo find . -type d -exec chmod 755 {} + | ||||||
|     sudo chown -R root:root ./*/ |  | ||||||
|  |  | ||||||
|     # Set postrm permissions |     # Set postrm permissions | ||||||
|     for i in `find . -name postrm`; do  |     for i in `find . -name postrm`; do | ||||||
|         sudo chmod 555 "${i}" |         sudo chmod 755 "${i}" | ||||||
|     done |     done | ||||||
|  |  | ||||||
|     # Set fxwinwrap permissions |     # Set fxwinwrap permissions | ||||||
|     for i in `find . -name fxwinwrap`; do  |     for i in `find . -name fxwinwrap`; do | ||||||
|         sudo chmod 755 "${i}" |         sudo chmod 755 "${i}" | ||||||
|     done |     done | ||||||
|  |  | ||||||
|     # Set xwinwrap permissions |     # Set xwinwrap permissions | ||||||
|     for i in `find . -name xwinwrap`; do  |     for i in `find . -name xwinwrap`; do | ||||||
|         sudo chmod 755 "${i}" |         sudo chmod 755 "${i}" | ||||||
|     done |     done | ||||||
|  |  | ||||||
|  |     for  in in `find . -name *.FXWinWrap.desktop.swp`; do | ||||||
|  |         sudo rm -rf "${i}" | ||||||
|  |     done; | ||||||
|  |  | ||||||
|     sudo chmod 755 fxwinwrap*/opt/FXWinWrap/resources/bin/* |     sudo chmod 755 fxwinwrap*/opt/FXWinWrap/resources/bin/* | ||||||
|  |  | ||||||
|  |     sudo chown -R root:root ./*/ | ||||||
| builder; | builder; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										8
									
								
								src/debs/fxwinwrap-0-1-5-x64/DEBIAN/control
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/debs/fxwinwrap-0-1-5-x64/DEBIAN/control
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | Package: fxwinwrap64 | ||||||
|  | Version: 0.1-5 | ||||||
|  | Section: java | ||||||
|  | Priority: optional | ||||||
|  | Architecture: amd64 | ||||||
|  | Depends: openjdk-8-jre (>= 8u45-b14-1), openjfx (>= 8u60-b27-4), ffmpegthumbnailer (>= 2.0.10-0.1), mplayer2 (>=2.0-728-g2c378c7-4), gifsicle (>=1.86-1), nitrogen (>=1.5.2-2) | ||||||
|  | Maintainer: Maxim Stewart <1itdominator@gmail.com> | ||||||
|  | Description: FXWinWrap is a GUI to handle setting XWinWrap options. | ||||||
							
								
								
									
										16
									
								
								src/debs/fxwinwrap-0-1-5-x64/DEBIAN/postrm
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								src/debs/fxwinwrap-0-1-5-x64/DEBIAN/postrm
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | #!/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 /opt/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 | ||||||
							
								
								
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/bin/fxwinwrap
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/bin/fxwinwrap
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/FXWinWrap.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/FXWinWrap.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/FXWinWrap.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/FXWinWrap.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.1 KiB | 
							
								
								
									
										6
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/launch.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/debs/fxwinwrap-0-1-5-x64/opt/FXWinWrap/launch.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | function main() { | ||||||
|  |     java -Xms32m -Xmx100m -jar FXWinWrap.jar | ||||||
|  | } | ||||||
|  | main; | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | [Desktop Entry] | ||||||
|  | Encoding=UTF-8 | ||||||
|  | Name=FXWinWrap | ||||||
|  | Comment=JavaFX gui for XWinWrap | ||||||
|  | Exec=/bin/fxwinwrap | ||||||
|  | Icon=/opt/FXWinWrap/FXWinWrap.png | ||||||
|  | Terminal=false | ||||||
|  | Type=Application | ||||||
|  | Categories=System; | ||||||
|  | MimeType=application/fxml; | ||||||
| @@ -0,0 +1,22 @@ | |||||||
|  | FXWinWrap is copyright 2016, 2017 Maxim Stewart. | ||||||
|  | FXWinWrap is currently developed by ITDominator <1itdominator@gmail.com>. | ||||||
|  |  | ||||||
|  | License: GPLv2+ | ||||||
|  |  | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  |  | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  |  | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | ||||||
|  |  | ||||||
|  | See /usr/share/common-licenses/GPL-2, or | ||||||
|  | <http://www.gnu.org/copyleft/gpl.txt> for the terms of the latest version | ||||||
|  | of the GNU General Public License. | ||||||
							
								
								
									
										8
									
								
								src/debs/fxwinwrap-0-1-5-x86/DEBIAN/control
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/debs/fxwinwrap-0-1-5-x86/DEBIAN/control
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | Package: fxwinwrap | ||||||
|  | Version: 0.1-5 | ||||||
|  | Section: java | ||||||
|  | Priority: optional | ||||||
|  | Architecture: i386 | ||||||
|  | Depends: openjdk-8-jre (>= 8u45-b14-1), openjfx (>= 8u60-b27-4), ffmpegthumbnailer (>= 2.0.10-0.1), mplayer2 (>=2.0-728-g2c378c7-4), gifsicle (>=1.86-1), nitrogen (>=1.5.2-2) | ||||||
|  | Maintainer: Maxim Stewart <1itdominator@gmail.com> | ||||||
|  | Description: FXWinWrap is a GUI to handle setting XWinWrap options. | ||||||
							
								
								
									
										16
									
								
								src/debs/fxwinwrap-0-1-5-x86/DEBIAN/postrm
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								src/debs/fxwinwrap-0-1-5-x86/DEBIAN/postrm
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | #!/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 /opt/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 | ||||||
							
								
								
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/FXWinWrap.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/FXWinWrap.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/FXWinWrap.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/FXWinWrap.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.1 KiB | 
							
								
								
									
										6
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/launch.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/debs/fxwinwrap-0-1-5-x86/opt/FXWinWrap/launch.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | function main() { | ||||||
|  |     java -Xms32m -Xmx100m -jar FXWinWrap.jar | ||||||
|  | } | ||||||
|  | main; | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | [Desktop Entry] | ||||||
|  | Encoding=UTF-8 | ||||||
|  | Name=FXWinWrap | ||||||
|  | Comment=JavaFX gui for XWinWrap | ||||||
|  | Exec=/bin/fxwinwrap | ||||||
|  | Icon=/opt/FXWinWrap/FXWinWrap.png | ||||||
|  | Terminal=false | ||||||
|  | Type=Application | ||||||
|  | Categories=System; | ||||||
|  | MimeType=application/fxml; | ||||||
| @@ -25,8 +25,8 @@ import javafx.beans.value.ObservableValue; | |||||||
|  |  | ||||||
|  |  | ||||||
| public class Controller { | public class Controller { | ||||||
| 	 		private DirectoryChooser folderChooser = new DirectoryChooser();  // Selects a dir |     private DirectoryChooser folderChooser = new DirectoryChooser();  // Selects a dir | ||||||
|  			private FileWriter fileWriter;                                    // Writes to files |     private FileWriter fileWriter;                                    // Writes to files | ||||||
|     private File directory, sveFileLoc;                               // Path to file or dir |     private File directory, sveFileLoc;                               // Path to file or dir | ||||||
|     private File[] fileList; |     private File[] fileList; | ||||||
|     private Image pth = new Image(".");                               // Path to image |     private Image pth = new Image(".");                               // Path to image | ||||||
| @@ -64,7 +64,7 @@ public class Controller { | |||||||
|             textAreaPth = dirPathField.getText(); |             textAreaPth = dirPathField.getText(); | ||||||
|             System.out.println(textAreaPth); |             System.out.println(textAreaPth); | ||||||
|             newDir(); |             newDir(); | ||||||
|       } else {} |         } else {} | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // Scan selected dir |     // Scan selected dir | ||||||
| @@ -84,25 +84,25 @@ public class Controller { | |||||||
|         fileList = directory.listFiles(); |         fileList = directory.listFiles(); | ||||||
|         dirPathField.setText("" + directory); |         dirPathField.setText("" + directory); | ||||||
|  |  | ||||||
| 			     for (int i=0; i<fileList.length; i++) { |         for (int i=0; i<fileList.length; i++) { | ||||||
|             String path = "" + fileList[i]; |             String path = "" + fileList[i]; | ||||||
|             if (path.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi|png|jpg|jpeg|gif).*$")) { |             if (path.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi|png|jpg|jpeg|gif).*$")) { | ||||||
|                	imgView = new ImageView(); |                 imgView = new ImageView(); | ||||||
|  					          imgView.setFitWidth(300); // Need these here to get grid properly. |  				imgView.setFitWidth(300); // Need these here to get grid properly. | ||||||
| 						          imgView.setFitHeight(200); | 				imgView.setFitHeight(200); | ||||||
| 					 		        tilePane.getChildren().add(imgView); | 				tilePane.getChildren().add(imgView); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Task getDir = new Task<Void>() { |         Task getDir = new Task<Void>() { | ||||||
|             @Override public Void call() { |             @Override public Void call() { | ||||||
|               newDir2(); |                 newDir2(); | ||||||
|               return null; |                 return null; | ||||||
|             }}; |             }}; | ||||||
|         new Thread(getDir).start(); |         new Thread(getDir).start(); | ||||||
|     } |     } | ||||||
|     public void newDir2() { |     public void newDir2() { | ||||||
| 			     for (int i=0; i<fileList.length; i++) { |         for (int i=0; i<fileList.length; i++) { | ||||||
|             String path = "" + fileList[i], tmpP = "" + fileList[i]; |             String path = "" + fileList[i], tmpP = "" + fileList[i]; | ||||||
|             if (tmpP.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi).*$")) { |             if (tmpP.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi).*$")) { | ||||||
|                 String movieImg = "ffmpegthumbnailer -w -t='00:30:00' -c png -i " + |                 String movieImg = "ffmpegthumbnailer -w -t='00:30:00' -c png -i " + | ||||||
| @@ -122,35 +122,35 @@ public class Controller { | |||||||
|                 }); |                 }); | ||||||
|  |  | ||||||
|                 view.setOnMouseClicked(mouse -> { |                 view.setOnMouseClicked(mouse -> { | ||||||
| 											        if (mouse.getClickCount() == 2 && !mouse.isConsumed()) { | 					if (mouse.getClickCount() == 2 && !mouse.isConsumed()) { | ||||||
| 											            mouse.consume(); | 											            mouse.consume(); | ||||||
| 							                try { | 						try { | ||||||
|                            pb = Runtime.getRuntime().exec(vExec); |                             pb = Runtime.getRuntime().exec(vExec); | ||||||
| 							                } catch(IOException vidIOErr) { | 						} catch(IOException vidIOErr) { | ||||||
| 							                    throw new UncheckedIOException(vidIOErr); | 							throw new UncheckedIOException(vidIOErr); | ||||||
| 							                } | 						} | ||||||
| 											        } | 					} | ||||||
|                    filePathField.setText(path); |                     filePathField.setText(path); | ||||||
|                 }); |                 }); | ||||||
|             } else if(tmpP.toLowerCase().matches("^.*?(png|jpg|jpeg|gif).*$")) { |             } else if(tmpP.toLowerCase().matches("^.*?(png|jpg|jpeg|gif).*$")) { | ||||||
|                 ImageView view = (ImageView) (tilePane.getChildren().get(i)); |                 ImageView view = (ImageView) (tilePane.getChildren().get(i)); | ||||||
| 			             String title = "file://" + fileList[i]; | 			    String title = "file://" + fileList[i]; | ||||||
|                 pth = new Image(title); |                 pth = new Image(title); | ||||||
|  |  | ||||||
|                 Platform.runLater(new Runnable() { |                 Platform.runLater(new Runnable() { | ||||||
|                     @Override public void run() { view.setImage(pth); } |                     @Override public void run() { view.setImage(pth); } | ||||||
|                 }); |                 }); | ||||||
|  |  | ||||||
| 												    final ImageView imgViewPoped = new ImageView(title); | 				final ImageView imgViewPoped = new ImageView(title); | ||||||
| 			             // image click actions | 			    // image click actions | ||||||
|                 view.setOnMouseClicked(mouse -> { |                 view.setOnMouseClicked(mouse -> { | ||||||
| 								            if (mouse.getClickCount() == 2 && !mouse.isConsumed()) { | 					if (mouse.getClickCount() == 2 && !mouse.isConsumed()) { | ||||||
| 								                mouse.consume(); | 					    mouse.consume(); | ||||||
|     			                 displayImg(imgViewPoped, title); |     			        displayImg(imgViewPoped, title); | ||||||
|        								     } |        				} | ||||||
|                     filePathField.setText(path); |                     filePathField.setText(path); | ||||||
| 			             }); | 			    }); | ||||||
| 								    } else { System.out.println("Not a video or image file."); } |             } else { System.out.println("Not a video or image file."); } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     // Open image in new window |     // Open image in new window | ||||||
| @@ -187,7 +187,6 @@ public class Controller { | |||||||
|     } |     } | ||||||
|     // Preliminary setup to save settings to files |     // Preliminary setup to save settings to files | ||||||
|     @FXML void saveToFile(ActionEvent saveEvent) throws Exception { |     @FXML void saveToFile(ActionEvent saveEvent) throws Exception { | ||||||
|  |  | ||||||
|         // Saves to file with selected and needed settings |         // Saves to file with selected and needed settings | ||||||
|         if(filePathField.getText().toLowerCase().matches("^.*?(png|jpg|jpeg|gif).*$")) |         if(filePathField.getText().toLowerCase().matches("^.*?(png|jpg|jpeg|gif).*$")) | ||||||
|             sveFileLoc = new File(System.getProperty("user.home") + "/" + ".config/nitrogen/bg-saved.cfg"); |             sveFileLoc = new File(System.getProperty("user.home") + "/" + ".config/nitrogen/bg-saved.cfg"); | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								src/versions/v0.0.5/FXWinWrap/buildJar.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								src/versions/v0.0.5/FXWinWrap/buildJar.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | function main() { | ||||||
|  |     jar cvfm FXWinWrap.jar manifest.txt com/itdominator/fxwinwrap/*.class \ | ||||||
|  |                                         com/itdominator/fxwinwrap/resources | ||||||
|  |     chmod +x FXWinWrap.jar | ||||||
|  |     mv FXWinWrap.jar ../ | ||||||
|  | } | ||||||
|  | main; | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -0,0 +1,175 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  |  | ||||||
|  | <?import java.lang.String?> | ||||||
|  | <?import javafx.collections.FXCollections?> | ||||||
|  | <?import javafx.geometry.Insets?> | ||||||
|  | <?import javafx.scene.control.Button?> | ||||||
|  | <?import javafx.scene.control.CheckBox?> | ||||||
|  | <?import javafx.scene.control.ChoiceBox?> | ||||||
|  | <?import javafx.scene.control.Label?> | ||||||
|  | <?import javafx.scene.control.ListView?> | ||||||
|  | <?import javafx.scene.control.ScrollPane?> | ||||||
|  | <?import javafx.scene.control.TextField?> | ||||||
|  | <?import javafx.scene.layout.AnchorPane?> | ||||||
|  | <?import javafx.scene.layout.TilePane?> | ||||||
|  | <?import javafx.scene.paint.Color?> | ||||||
|  | <?import javafx.scene.text.Font?> | ||||||
|  | <?scenebuilder-background-color 0x444444ff?> | ||||||
|  |  | ||||||
|  | <AnchorPane minHeight="300.0" minWidth="300.0" prefHeight="600.0" prefWidth="950.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1"> | ||||||
|  |   <children> | ||||||
|  |     <TextField id="txtDirPath" fx:id="dirPathField" blendMode="DIFFERENCE" onKeyReleased="#onEnter" prefWidth="880.0" promptText="Directory Path" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="70.0" AnchorPane.topAnchor="5.0" /> | ||||||
|  |     <Button fx:id="clear" mnemonicParsing="false" onAction="#clearBttnClick" text="Clear" AnchorPane.rightAnchor="15.0" AnchorPane.topAnchor="5.0" /> | ||||||
|  |     <TextField id="txtDirPath" fx:id="filePathField" blendMode="DIFFERENCE" layoutY="33.0" onKeyReleased="#onEnter" prefWidth="950.0" promptText="File Path" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="15.0" /> | ||||||
|  |     <ScrollPane id="ScrollPane" layoutX="19.0" layoutY="101.0" minHeight="226.0" minWidth="300.0" prefHeight="490.0" prefViewportHeight="534.0" prefViewportWidth="742.0" prefWidth="637.0" style="    -fx-fit-to-height: true;
    -fx-fit-to-width: true;" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="315.0" AnchorPane.topAnchor="100.0"> | ||||||
|  |       <content> | ||||||
|  |         <TilePane fx:id="tilePane" hgap="15.0" prefHeight="532.0" prefWidth="755.0" vgap="15.0"> | ||||||
|  |           <children> | ||||||
|  |             <Label id="dir" fx:id="dirLbl" contentDisplay="CENTER" labelFor="$clear" onMouseClicked="#setNewDir" opacity="0.5" prefHeight="478.0" prefWidth="629.0" text="Choose Image/Video Directory..." textAlignment="LEFT" textOverrun="CLIP" underline="false" wrapText="false" TilePane.alignment="CENTER"> | ||||||
|  |               <font> | ||||||
|  |                 <Font name="System Bold" size="32.0" /> | ||||||
|  |               </font> | ||||||
|  |               <textFill> | ||||||
|  |                 <Color blue="0.875" green="0.875" red="0.875" /> | ||||||
|  |               </textFill> | ||||||
|  |               <TilePane.margin> | ||||||
|  |                 <Insets /> | ||||||
|  |               </TilePane.margin> | ||||||
|  |             </Label> | ||||||
|  |           </children> | ||||||
|  |         </TilePane> | ||||||
|  |       </content> | ||||||
|  |     </ScrollPane> | ||||||
|  |     <ListView fx:id="selXScreenSvr" disable="true" layoutX="649.0" layoutY="101.0" onMouseClicked="#passXScreenVal" prefHeight="257.0" prefWidth="283.0" AnchorPane.bottomAnchor="230.0" AnchorPane.rightAnchor="15.0" AnchorPane.topAnchor="100.0"> | ||||||
|  |       <items> | ||||||
|  |         <FXCollections fx:factory="observableArrayList"> | ||||||
|  |           <String fx:value="electricsheep " /> | ||||||
|  |           <String fx:value="atlantis" /> | ||||||
|  |           <String fx:value="atunnel " /> | ||||||
|  |           <String fx:value="blinkbox " /> | ||||||
|  |           <String fx:value="blocktube" /> | ||||||
|  |           <String fx:value="bouncingcow " /> | ||||||
|  |           <String fx:value="boxfit " /> | ||||||
|  |           <String fx:value="bsod" /> | ||||||
|  |           <String fx:value="bubble3d " /> | ||||||
|  |           <String fx:value="bumps " /> | ||||||
|  |           <String fx:value="cage" /> | ||||||
|  |           <String fx:value="carousel " /> | ||||||
|  |           <String fx:value="cube21 " /> | ||||||
|  |           <String fx:value="cubenetic" /> | ||||||
|  |           <String fx:value="cubicgrid " /> | ||||||
|  |           <String fx:value="cwaves " /> | ||||||
|  |           <String fx:value="dangerball" /> | ||||||
|  |           <String fx:value="fiberlamp " /> | ||||||
|  |           <String fx:value="fireworkx " /> | ||||||
|  |           <String fx:value="flipflop" /> | ||||||
|  |           <String fx:value="fliptext " /> | ||||||
|  |           <String fx:value="flow " /> | ||||||
|  |           <String fx:value="flurry" /> | ||||||
|  |           <String fx:value="flyingtoasters " /> | ||||||
|  |           <String fx:value="gflux " /> | ||||||
|  |           <String fx:value="glcells" /> | ||||||
|  |           <String fx:value="gleidescope " /> | ||||||
|  |           <String fx:value="glknots " /> | ||||||
|  |           <String fx:value="glmatrix" /> | ||||||
|  |           <String fx:value="glschool " /> | ||||||
|  |           <String fx:value="glslideshow " /> | ||||||
|  |           <String fx:value="glsnake" /> | ||||||
|  |           <String fx:value="hypertorus " /> | ||||||
|  |           <String fx:value="hypnowheel " /> | ||||||
|  |           <String fx:value="interaggregate" /> | ||||||
|  |           <String fx:value="intermomentary " /> | ||||||
|  |           <String fx:value="jigglypuff " /> | ||||||
|  |           <String fx:value="jigsaw" /> | ||||||
|  |           <String fx:value="julia " /> | ||||||
|  |           <String fx:value="lament " /> | ||||||
|  |           <String fx:value="lockward" /> | ||||||
|  |           <String fx:value="metaballs " /> | ||||||
|  |           <String fx:value="moebiusgears " /> | ||||||
|  |           <String fx:value="molecule" /> | ||||||
|  |           <String fx:value="morph3d " /> | ||||||
|  |           <String fx:value="noof " /> | ||||||
|  |           <String fx:value="phosphor" /> | ||||||
|  |           <String fx:value="photopile " /> | ||||||
|  |           <String fx:value="pinion " /> | ||||||
|  |           <String fx:value="popsquares" /> | ||||||
|  |           <String fx:value="ripples " /> | ||||||
|  |           <String fx:value="skytentacles " /> | ||||||
|  |           <String fx:value="slidescreen" /> | ||||||
|  |           <String fx:value="stonerview " /> | ||||||
|  |           <String fx:value="strange " /> | ||||||
|  |           <String fx:value="substrate" /> | ||||||
|  |           <String fx:value="tangram " /> | ||||||
|  |           <String fx:value="whirlwindwarp " /> | ||||||
|  |           <String fx:value="wormhole" /> | ||||||
|  |           <String fx:value="xflame " /> | ||||||
|  |           <String fx:value="xrayswarm " /> | ||||||
|  |           <String fx:value="companioncube" /> | ||||||
|  |           <String fx:value="fuzzyflakes " /> | ||||||
|  |           <String fx:value="galaxy " /> | ||||||
|  |           <String fx:value="glplanet" /> | ||||||
|  |           <String fx:value="penetrate" /> | ||||||
|  |         </FXCollections> | ||||||
|  |       </items> | ||||||
|  |     </ListView> | ||||||
|  |     <Label layoutX="804.0" layoutY="374.0" text="Position Offset:" AnchorPane.bottomAnchor="210.0" AnchorPane.rightAnchor="47.0" /> | ||||||
|  |     <Label layoutX="654.0" layoutY="429.0" text="Save Path:" AnchorPane.bottomAnchor="155.0" AnchorPane.rightAnchor="226.0" /> | ||||||
|  |     <Button id="saveBttn" layoutX="652.0" layoutY="487.0" mnemonicParsing="false" onAction="#saveToFile" prefHeight="50.0" prefWidth="169.0" text="Save Selection" AnchorPane.bottomAnchor="63.0" AnchorPane.rightAnchor="129.0" /> | ||||||
|  |     <Button id="applyBttn" layoutX="835.0" layoutY="487.0" mnemonicParsing="false" onAction="#applySttngs" prefHeight="50.0" prefWidth="100.0" text="Apply" AnchorPane.bottomAnchor="63.0" AnchorPane.rightAnchor="15.0" /> | ||||||
|  |     <Button id="killBttn" layoutX="652.0" layoutY="540.0" mnemonicParsing="false" onAction="#killXWinWrp" prefHeight="50.0" prefWidth="169.0" text="Kill XWinWrap" AnchorPane.bottomAnchor="10.0" AnchorPane.rightAnchor="129.0" /> | ||||||
|  |     <Button fx:id="closeBttn" mnemonicParsing="false" onAction="#closeProg" prefHeight="50.0" prefWidth="100.0" text="Close" AnchorPane.bottomAnchor="10.0" AnchorPane.rightAnchor="15.0" /> | ||||||
|  |     <ChoiceBox fx:id="listSaveLoc" layoutX="641.0" layoutY="443.0" prefHeight="29.0" prefWidth="283.0" AnchorPane.bottomAnchor="125.0" AnchorPane.rightAnchor="15.0"> | ||||||
|  |       <items> | ||||||
|  |         <FXCollections fx:factory="observableArrayList"> | ||||||
|  |           <String fx:value=".animatedBGstarter.sh" /> | ||||||
|  |           <String fx:value=".animatedBGstarter2.sh" /> | ||||||
|  |         </FXCollections> | ||||||
|  |       </items> | ||||||
|  |     </ChoiceBox> | ||||||
|  |     <ChoiceBox id="listRes" fx:id="setMonPosOffset" layoutX="769.0" layoutY="401.0" prefHeight="29.0" prefWidth="135.0" value="+0+0" AnchorPane.bottomAnchor="180.0" AnchorPane.rightAnchor="12.0"> | ||||||
|  |       <items> | ||||||
|  |         <FXCollections fx:factory="observableArrayList"> | ||||||
|  |           <String fx:value="Left" /> | ||||||
|  |           <String fx:value="-1920+0" /> | ||||||
|  |           <String fx:value="-1440+0" /> | ||||||
|  |           <String fx:value="-1600+0" /> | ||||||
|  |           <String fx:value="-1280+0" /> | ||||||
|  |           <String fx:value="-800+0" /> | ||||||
|  |           <String fx:value="Right" /> | ||||||
|  |           <String fx:value="+1920+0" /> | ||||||
|  |           <String fx:value="+1440+0" /> | ||||||
|  |           <String fx:value="+1600+0" /> | ||||||
|  |           <String fx:value="+1280+0" /> | ||||||
|  |           <String fx:value="+800+0" /> | ||||||
|  |           <String fx:value="+0+0" /> | ||||||
|  |           <String fx:value="Top" /> | ||||||
|  |           <String fx:value="+0+1920" /> | ||||||
|  |           <String fx:value="+0+1440" /> | ||||||
|  |           <String fx:value="+0+1600" /> | ||||||
|  |           <String fx:value="+0+1280" /> | ||||||
|  |           <String fx:value="+0+800" /> | ||||||
|  |           <String fx:value="Bottom" /> | ||||||
|  |           <String fx:value="+0-1920" /> | ||||||
|  |           <String fx:value="+0-1440" /> | ||||||
|  |           <String fx:value="+0-1600" /> | ||||||
|  |           <String fx:value="+0-1280" /> | ||||||
|  |           <String fx:value="+0-800" /> | ||||||
|  |         </FXCollections> | ||||||
|  |       </items> | ||||||
|  |     </ChoiceBox> | ||||||
|  |     <ChoiceBox id="listRes" fx:id="playbackResolution" layoutX="652.0" layoutY="401.0" prefHeight="29.0" prefWidth="135.0" value="1920x1080" AnchorPane.bottomAnchor="180.0" AnchorPane.rightAnchor="163.0"> | ||||||
|  |       <items> | ||||||
|  |         <FXCollections fx:factory="observableArrayList"> | ||||||
|  |           <String fx:value="1920x1080" /> | ||||||
|  |           <String fx:value="1440x720" /> | ||||||
|  |           <String fx:value="1600x900" /> | ||||||
|  |           <String fx:value="1280x720" /> | ||||||
|  |           <String fx:value="800x600" /> | ||||||
|  |         </FXCollections> | ||||||
|  |       </items> | ||||||
|  |     </ChoiceBox> | ||||||
|  |     <CheckBox fx:id="useXSvrn" layoutX="724.0" layoutY="75.0" mnemonicParsing="false" onMouseClicked="#toggleXscreenUsageField" prefHeight="18.0" prefWidth="158.0" text="Use XScreenSaver" AnchorPane.rightAnchor="65.0" AnchorPane.topAnchor="75.0" /> | ||||||
|  |     <Label layoutX="653.0" layoutY="374.0" text="Playback Resolutions:" AnchorPane.bottomAnchor="210.0" AnchorPane.rightAnchor="155.0" /> | ||||||
|  |     <Label layoutX="127.0" layoutY="76.0" prefWidth="382.0" text="Note: Double click an image to view the video or image." AnchorPane.leftAnchor="125.0" AnchorPane.topAnchor="75.0" /> | ||||||
|  |   </children> | ||||||
|  | </AnchorPane> | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.1 KiB | 
| @@ -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 & | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | .root { | ||||||
|  |     -fx-background: rgba(68, 68, 68, 0.8); // == #444444; | ||||||
|  | } | ||||||
|  | .button { | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								src/versions/v0.0.5/FXWinWrap/manifest.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/versions/v0.0.5/FXWinWrap/manifest.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | Main-Class: com.itdominator.fxwinwrap.FXWinWrap | ||||||
							
								
								
									
										275
									
								
								src/versions/v0.0.5/FXWinWrap/src/Controller.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										275
									
								
								src/versions/v0.0.5/FXWinWrap/src/Controller.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,275 @@ | |||||||
|  | package com.itdominator.fxwinwrap; | ||||||
|  |  | ||||||
|  | import javafx.stage.Stage; | ||||||
|  | import javafx.stage.DirectoryChooser; | ||||||
|  | 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 javafx.concurrent.Task; | ||||||
|  | import javafx.application.Platform; | ||||||
|  |  | ||||||
|  | import java.io.File; | ||||||
|  | import java.io.FileReader; | ||||||
|  | import java.io.BufferedReader; | ||||||
|  | import java.io.FileWriter; | ||||||
|  | import java.io.InputStream; | ||||||
|  | import java.io.InputStreamReader; | ||||||
|  | import java.io.IOException; | ||||||
|  | import java.io.UncheckedIOException; | ||||||
|  |  | ||||||
|  | import javafx.beans.value.ChangeListener; | ||||||
|  | import javafx.beans.value.ObservableValue; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | public class Controller { | ||||||
|  |     // Classes | ||||||
|  |  | ||||||
|  |     // FXML Stuff | ||||||
|  |     @FXML private ListView<?> selXScreenSvr; | ||||||
|  |     @FXML private Label dirLbl; | ||||||
|  |     @FXML private TilePane tilePane; | ||||||
|  |     @FXML private TextField dirPathField, filePathField; | ||||||
|  |     @FXML private CheckBox useXSvrn; | ||||||
|  |     @FXML private ChoiceBox<?> playbackResolution, setMonPosOffset, listSaveLoc; | ||||||
|  |     @FXML private Button applyBttn, closeBttn, fileBttn, clear, killBttn, saveBttn; | ||||||
|  |  | ||||||
|  |     // Generics | ||||||
|  |     private DirectoryChooser folderChooser = new DirectoryChooser(); | ||||||
|  |     private FileWriter fileWriter; | ||||||
|  |     private File tempShFile, directory, sveFileLoc; | ||||||
|  |     private File[] fileList; | ||||||
|  |     private Image pth;                                                // Path to image | ||||||
|  |     private ImageView imgView = new ImageView(pth); | ||||||
|  |     private Process pb;                                               // Process runner | ||||||
|  |     private Stage fileChooserStage; | ||||||
|  |     private String tmpPath, resolution, xScreenVal, output, textAreaPth = ""; | ||||||
|  |     private int applyType = 1; | ||||||
|  |  | ||||||
|  |     @FXML void initialize() throws Exception { | ||||||
|  |         assert dirPathField != null : "fx:id=\"dirPathField\" was not injected: check your FXML file 'Window.fxml'."; | ||||||
|  |         assert clear != null : "fx:id=\"clear\" 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 tilePane != null : "fx:id=\"tilePane\" 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 selXScreenSvr != null : "fx:id=\"selXScreenSvr\" 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 listSaveLoc != null : "fx:id=\"listSaveLoc\" was not injected: check your FXML file 'Window.fxml'."; | ||||||
|  |         assert setMonPosOffset != null : "fx:id=\"setMonPosOffset\" was not injected: check your FXML file 'Window.fxml'."; | ||||||
|  |         assert playbackResolution != null : "fx:id=\"playbackResolution\" was not injected: check your FXML file 'Window.fxml'."; | ||||||
|  |         assert useXSvrn != null : "fx:id=\"useXSvrn\" was not injected: check your FXML file 'Window.fxml'."; | ||||||
|  |  | ||||||
|  |         try { | ||||||
|  |             tempShFile = File.createTempFile("StartXWW", ".sh", new File("/tmp/")); | ||||||
|  |             tempShFile.setExecutable(true, true); | ||||||
|  |             tempShFile.deleteOnExit(); | ||||||
|  |  | ||||||
|  |             FileWriter fileWriter = new FileWriter(tempShFile); | ||||||
|  |             InputStream in = getClass().getResourceAsStream("resources/bin/StartXWW.sh"); | ||||||
|  |             BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in)); | ||||||
|  |             String line = ""; | ||||||
|  |  | ||||||
|  |             while((line = bufferedReader.readLine()) != null) { | ||||||
|  |                 fileWriter.write(line + "\n"); | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             // Always close files. | ||||||
|  |             fileWriter.close(); | ||||||
|  |             in.close(); | ||||||
|  |             bufferedReader.close(); | ||||||
|  |         } catch (Exception e) { } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @FXML void setNewDir(MouseEvent event) { newDir(); } | ||||||
|  |     @FXML void onEnter(KeyEvent event) { | ||||||
|  |         if (event.getCode().equals(KeyCode.ENTER)) { | ||||||
|  |             textAreaPth = dirPathField.getText(); | ||||||
|  |             newDir(); | ||||||
|  |         } else {} | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // Scan selected dir | ||||||
|  |     public void newDir() { | ||||||
|  |         tilePane.getChildren().clear(); | ||||||
|  |         Stage stage = new Stage(); | ||||||
|  |         if (textAreaPth != "") | ||||||
|  |             directory = new File(textAreaPth); | ||||||
|  |         else { | ||||||
|  |             directory = folderChooser.showDialog(stage); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         fileList = directory.listFiles(); | ||||||
|  |         dirPathField.setText("" + directory); | ||||||
|  |  | ||||||
|  |         for (int i=0; i<fileList.length; i++) { | ||||||
|  |             String path = "" + fileList[i]; | ||||||
|  |             if (path.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi|png|jpg|jpeg|gif).*$")) { | ||||||
|  |                 imgView = new ImageView(); | ||||||
|  |  				imgView.setFitWidth(300); // Need these here to get grid properly. | ||||||
|  | 				imgView.setFitHeight(200); | ||||||
|  | 				tilePane.getChildren().add(imgView); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Task getDir = new Task<Void>() { | ||||||
|  |             @Override public Void call() { | ||||||
|  |                 newDir2(); | ||||||
|  |                 return null; | ||||||
|  |             }}; | ||||||
|  |         new Thread(getDir).start(); | ||||||
|  |     } | ||||||
|  |     public void newDir2() { | ||||||
|  |         for (int i=0; i<fileList.length; i++) { | ||||||
|  |             String path = "" + fileList[i], tmpP = "" + fileList[i]; | ||||||
|  |             if (tmpP.toLowerCase().matches("^.*?(mp4|mpeg|mpg|wmv|mkv|flv|webm|avi).*$")) { | ||||||
|  |                 String movieImg = "ffmpegthumbnailer -w -t='00:30:00' -c png -i " + | ||||||
|  |                                          fileList[i] + " -s 300 -o /tmp/image.png", | ||||||
|  |                        vExec = "mplayer -really-quiet -ao null -loop 0 " + fileList[i]; | ||||||
|  |                 try { | ||||||
|  |                     pb = Runtime.getRuntime().exec(movieImg); | ||||||
|  |                     pb.waitFor(); | ||||||
|  |                 } catch(Throwable imgIOErr) { System.out.println(imgIOErr); } | ||||||
|  |  | ||||||
|  |                 ImageView view = (ImageView) (tilePane.getChildren().get(i)); | ||||||
|  |                 pth = new Image("file:///tmp/image.png"); | ||||||
|  |                 Platform.runLater(new Runnable() { | ||||||
|  |                     @Override public void run() { view.setImage(pth); } | ||||||
|  |                 }); | ||||||
|  |  | ||||||
|  |                 view.setOnMouseClicked(mouse -> { | ||||||
|  | 					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(tmpP.toLowerCase().matches("^.*?(png|jpg|jpeg|gif).*$")) { | ||||||
|  |                 ImageView view = (ImageView) (tilePane.getChildren().get(i)); | ||||||
|  | 			    String title = "file://" + fileList[i]; | ||||||
|  |                 pth = new Image(title); | ||||||
|  |  | ||||||
|  |                 Platform.runLater(new Runnable() { | ||||||
|  |                     @Override public void run() { view.setImage(pth); } | ||||||
|  |                 }); | ||||||
|  |  | ||||||
|  | 				final ImageView imgViewPoped = new ImageView(title); | ||||||
|  | 			    // image click actions | ||||||
|  |                 view.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."); } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     // Open image in new window | ||||||
|  |     public void displayImg(ImageView imgViewPoped, String title) { | ||||||
|  |         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().add(imgViewPoped); | ||||||
|  |         popOut.setTitle(title); | ||||||
|  |         popOut.setScene(scene); | ||||||
|  |         popOut.show(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @FXML void toggleXscreenUsageField(MouseEvent event) { | ||||||
|  |         if (useXSvrn.isSelected() == true) | ||||||
|  |             selXScreenSvr.setDisable(false); | ||||||
|  |         else if (useXSvrn.isSelected() == false) | ||||||
|  |             selXScreenSvr.setDisable(true); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // Kill xwinwrap process | ||||||
|  |     @FXML void killXWinWrp(ActionEvent event) throws Exception { | ||||||
|  |         pb = Runtime.getRuntime().exec("killall xwinwrap &"); | ||||||
|  |         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().matches("^.*?(png|jpg|jpeg|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); | ||||||
|  |         resolution = "" + playbackResolution.getValue() + "" + setMonPosOffset.getValue(); | ||||||
|  |         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 -really-quiet -ao null -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("bash -c '" + tempShFile.toString() + "'"); | ||||||
|  |             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); } | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								src/versions/v0.0.5/FXWinWrap/src/FXWinWrap.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/versions/v0.0.5/FXWinWrap/src/FXWinWrap.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | package com.itdominator.fxwinwrap; | ||||||
|  |  | ||||||
|  | import javafx.application.Application; | ||||||
|  | import javafx.fxml.FXMLLoader; | ||||||
|  | import javafx.stage.Stage; | ||||||
|  | import javafx.scene.Scene; | ||||||
|  | import javafx.scene.image.Image; | ||||||
|  |  | ||||||
|  | import java.util.logging.Level; | ||||||
|  | import java.io.IOException; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | public class FXWinWrap extends Application { | ||||||
|  |     // Classes | ||||||
|  |  | ||||||
|  |     @Override public void start(Stage stage) { | ||||||
|  |         try { | ||||||
|  |             FXMLLoader loader = new FXMLLoader(getClass().getResource("resources/FXWinWrap.fxml")); | ||||||
|  |             loader.setController(new Controller()); | ||||||
|  |             loader.load(); | ||||||
|  |             Scene scene = new Scene(loader.getRoot()); | ||||||
|  |             scene.getStylesheets().add("/com/itdominator/fxwinwrap/resources/stylesheet.css"); | ||||||
|  |             stage.setTitle("FXWinWrap"); | ||||||
|  |             stage.setScene(scene); | ||||||
|  |         } catch (IOException startException) { | ||||||
|  |             String message = "\nFXWinWrap Failed to launch...\n"; | ||||||
|  |             System.out.println(message + startException); | ||||||
|  |         } | ||||||
|  |         stage.getIcons().add(new Image(FXWinWrap.class.getResourceAsStream("resources/FXWinWrap.png"))); | ||||||
|  |         stage.setResizable(true); | ||||||
|  |         stage.show(); | ||||||
|  |     } | ||||||
|  |     public static void main(String[] args) { launch(args); } | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								src/versions/v0.0.5/FXWinWrap/src/unix_compile.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								src/versions/v0.0.5/FXWinWrap/src/unix_compile.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | # -Xlint:unchecked | ||||||
|  | function main() { | ||||||
|  |     javac *.java | ||||||
|  |     rm ../com/itdominator/fxwinwrap/*.class | ||||||
|  |     mv *.class ../com/itdominator/fxwinwrap/ | ||||||
|  | } | ||||||
|  | main; | ||||||
							
								
								
									
										6
									
								
								src/versions/v0.0.5/compileBin.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								src/versions/v0.0.5/compileBin.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | function main() { | ||||||
|  |     c++ -s fxwinwrap_exec_bin.cpp -o fxwinwrap | ||||||
|  | } | ||||||
|  | main; | ||||||
							
								
								
									
										10
									
								
								src/versions/v0.0.5/fxwinwrap_exec_bin.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/versions/v0.0.5/fxwinwrap_exec_bin.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | using namespace std; | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  |     chdir("/opt/FXWinWrap/"); | ||||||
|  |     system("bash launch.sh"); | ||||||
|  | return 0; | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								src/versions/v0.0.5/launch.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								src/versions/v0.0.5/launch.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | function main() { | ||||||
|  |     java -Xms32m -Xmx100m -jar FXWinWrap.jar | ||||||
|  | } | ||||||
|  | main; | ||||||
		Reference in New Issue
	
	Block a user