diff --git a/muon-main/pom.xml b/app/pom.xml similarity index 98% rename from muon-main/pom.xml rename to app/pom.xml index 37c6be7f..272a041c 100644 --- a/muon-main/pom.xml +++ b/app/pom.xml @@ -7,7 +7,7 @@ 0.0.1-SNAPSHOT - muon-main + app jar muon-main diff --git a/app/src/main/java/muon/App.java b/app/src/main/java/muon/App.java new file mode 100644 index 00000000..aa7209a7 --- /dev/null +++ b/app/src/main/java/muon/App.java @@ -0,0 +1,426 @@ +package muon; + +import muon.ui.styles.FlatLookAndFeel; +import muon.ui.widgets.HomePanel; +import muon.ui.widgets.TabItem; +import muon.ui.widgets.TabbedPanel; +import muon.util.FontIcon; +import muon.util.IconFont; + +import javax.swing.*; +import javax.swing.border.CompoundBorder; +import javax.swing.border.EmptyBorder; +import javax.swing.border.MatteBorder; +import javax.swing.plaf.metal.MetalLookAndFeel; +import javax.swing.table.TableCellRenderer; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.lang.reflect.InvocationTargetException; + +/** + * Hello world! + */ +public class App { + + static EmptyBorder border = new MatteBorder(0, 0, 0, 0, Color.BLACK); + static EmptyBorder border1 = new MatteBorder(0, 10, 0, 0, new Color(24, 24, 24)); + static JPanel panelRight; + + public static void main(String[] args) throws InterruptedException, InvocationTargetException, UnsupportedLookAndFeelException, ClassNotFoundException, InstantiationException, IllegalAccessException { +// System.setProperty("awt.useSystemAAFontSettings", "lcd"); +// System.setProperty("swing.aatext", "true"); +// System.setProperty("sun.java2d.uiScale.enabled", "false"); +// System.setProperty("sun.java2d.uiScale", "2.0"); + System.setProperty("sun.java2d.metal", "false"); + System.setProperty("apple.awt.application.appearance", "system"); + UIManager.setLookAndFeel(new FlatLookAndFeel()); + //JFrame.setDefaultLookAndFeelDecorated(false); + JFrame f = new JFrame(); + //f.setUndecorated(true); + f.setSize(800, 600); + f.setLocationRelativeTo(null); + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + f.getContentPane().setBackground(Color.BLACK); + f.setBackground(Color.BLACK); + f.add(new HomePanel()); + //var toolbar = createToolbar(); + //f.add(toolbar, BorderLayout.NORTH); + //f.add(createMainPanel()); + SwingUtilities.invokeAndWait(() -> f.setVisible(true)); + } + + private static JPanel createFileBrowser(EmptyBorder border, boolean right) { + var c1 = new Color(31, 31, 31); + var c2 = new Color(24, 24, 24); + var panel = new JPanel(new BorderLayout()); + if (right) { + panelRight = panel; + } + panel.setBorder(border); + var toolbar = Box.createHorizontalBox(); + toolbar.setOpaque(true); + toolbar.setBackground(c1); + toolbar.add(createFontLabel("\uEA5C")); + toolbar.add(createFontLabel("\uEA68")); + toolbar.add(createFontLabel("\uEE1D")); + var addressBar = new JPanel(new BorderLayout()); + addressBar.setBackground(c1); + + var addressIcon = createFontLabel("\uF395"); + addressIcon.setBorder(new EmptyBorder(5, 5, 3, 10)); + + addressBar.add(addressIcon, BorderLayout.WEST); + var txtAddress = new JTextField(); + txtAddress.setBackground(c1); + txtAddress.setForeground(new Color(100, 100, 100)); + txtAddress.setBorder(new EmptyBorder(0, 0, 0, 0)); + txtAddress.setText("/usr/home/user/documents"); + addressBar.add(txtAddress); + addressBar.add(createFontLabel("\uea6c"), BorderLayout.EAST); + toolbar.add(addressBar); + toolbar.add(createFontLabel("\uEF77")); + toolbar.setBorder(new EmptyBorder(2, 5, 0, 0)); + + panel.setBackground(c1); + String data[][] = {{"Documents", "20 M", "25/02/2002"}, + {"Video", "100 G", "04/12/2012"}, + {"Downloads", "32 K", "15/02/2002"}}; + String column[] = {"Name", "Size", "Date"}; + JTable jt = new JTable(data, column); + jt.addMouseMotionListener(new MouseAdapter() { + @Override + public void mouseMoved(MouseEvent e) { + super.mouseMoved(e); + if (e.getX() < 20) { + panelRight.setBorder(border1); + System.out.println("Border set"); + } else { + panelRight.setBorder(border); + System.out.println("Border unset"); + } + } + }); + jt.setShowGrid(false); + jt.setBackground(c2); + jt.setForeground(Color.GRAY); + jt.setFillsViewportHeight(true); + var header = jt.getTableHeader(); + header.setBackground(Color.black); + header.setForeground(Color.yellow); + header.setBorder(new EmptyBorder(0, 0, 0, 0)); + header.setDefaultRenderer((a, b, c, d, e, f) -> { + var label = new JLabel(b.toString()); + label.setBorder( + new CompoundBorder( + new MatteBorder(1, f == 0 ? 0 : 1, 1, 0, new Color(15, 15, 15)), + new EmptyBorder(5, 10, 5, 10) + )); + label.setOpaque(true); + label.setBackground(c1); + label.setForeground(new Color(80, 80, 80)); + label.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + return label; + }); + jt.setRowHeight(30); + + jt.setDefaultRenderer(Object.class, (a, b, c, d, e, f) -> { + var p = new JPanel(new BorderLayout()); + p.setBackground(c2); + if (f == 0) { + var folderIconLbl = new JLabel(); + folderIconLbl.setVerticalAlignment(JLabel.CENTER); + folderIconLbl.setVerticalTextPosition(JLabel.CENTER); + folderIconLbl.setBorder(new EmptyBorder(0, 10, 0, 0)); + folderIconLbl.setForeground(new Color(0, 120, 212)); + folderIconLbl.setFont(IconFont.getSharedInstance().getIconFont(24.0f)); + folderIconLbl.setText("\uED61"); + p.add(folderIconLbl, BorderLayout.WEST); + } + var label = new JLabel(b.toString()); + label.setBorder( + new CompoundBorder( + new MatteBorder(0, 0, 0, 0, c1), + new EmptyBorder(5, 10, 5, 10))); + label.setForeground(Color.GRAY); + label.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + p.add(label); + return p; + }); + JScrollPane sp = new JScrollPane(jt); + sp.setBackground(c2); + sp.setViewportBorder(new EmptyBorder(0, 0, 0, 0)); + sp.setBorder(new EmptyBorder(0, 0, 0, 0)); + panel.add(sp); + + var tab = Box.createHorizontalBox(); + tab.setOpaque(true); + //tab.setBackground(new Color(68, 69, 73)); + tab.setBackground(c2); + tab.setBorder(new CompoundBorder( + new MatteBorder(0, 0, 0, 0, new Color(0, 120, 212)), + new EmptyBorder(5, 0, 5, 0) + )); + tab.add(Box.createRigidArea(new Dimension(10, 5))); +// var iconLbl = new JLabel(); +// iconLbl.setForeground(new Color(52, 117, 233)); +// iconLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); +// iconLbl.setText("\uF2F5"); +// tab.add(iconLbl); + var lblTitle = new JLabel("Documents"); + lblTitle.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + lblTitle.setForeground(new Color(80, 80, 80)); + lblTitle.setBorder(new EmptyBorder(0, 10, 2, 10)); + tab.add(lblTitle); + tab.add(Box.createHorizontalGlue()); +// var closeLbl = new JLabel(); +// closeLbl.setForeground(new Color(100, 100, 100)); +// closeLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); +// closeLbl.setText("\uEB96"); +// tab.add(closeLbl); + tab.add(Box.createRigidArea(new Dimension(5, 5))); + var mainTabHolder = Box.createHorizontalBox(); +// mainTabHolder.setBorder(new MatteBorder(1, 0, 0, 0, +// new Color(0,0,0) +// )); + mainTabHolder.setOpaque(true); + //mainTabHolder.setBorder(new MatteBorder(1,0,0,0,new Color(15,15,15))); + mainTabHolder.setBackground(c2); + mainTabHolder.add(tab); + + var addTabLbl = new JLabel(); + addTabLbl.setOpaque(true); + addTabLbl.setBackground(c2); + addTabLbl.setForeground(new Color(100, 100, 100)); + addTabLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + addTabLbl.setText("\uEA13"); + addTabLbl.setBorder(new EmptyBorder(0, 5, 0, 5)); + mainTabHolder.add(addTabLbl); + + panel.add(toolbar, BorderLayout.NORTH); + panel.add(mainTabHolder, BorderLayout.SOUTH); + + return panel; + } + + private static JPanel createBottomPanel() { + var c1 = new Color(24, 24, 24); + var panel = new JPanel(new BorderLayout()); + panel.setBackground(c1); + + var tab = Box.createHorizontalBox(); + tab.setOpaque(true); + //tab.setBackground(new Color(68, 69, 73)); + tab.setBackground(c1); + tab.setBorder(new CompoundBorder( + new MatteBorder(0, 0, 0, 0, new Color(0, 120, 212)), + new EmptyBorder(5, 0, 5, 0) + )); + tab.add(Box.createRigidArea(new Dimension(10, 5))); + var iconLbl = new JLabel(); + iconLbl.setForeground(new Color(0, 120, 212)); + iconLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + iconLbl.setText("\uF2F5"); + tab.add(iconLbl); + var lblTitle = new JLabel("user@server"); + lblTitle.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + lblTitle.setForeground(new Color(180, 180, 180)); + lblTitle.setBorder(new EmptyBorder(0, 10, 2, 10)); + tab.add(lblTitle); +// var closeLbl = new JLabel(); +// closeLbl.setForeground(new Color(100, 100, 100)); +// closeLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); +// closeLbl.setText("\uEB99"); +// tab.add(closeLbl); + tab.add(Box.createRigidArea(new Dimension(10, 5))); + var mainTabHolder = Box.createHorizontalBox(); + mainTabHolder.setBorder(new MatteBorder(0, 0, 0, 0, + new Color(0, 0, 0) + )); + mainTabHolder.add(tab); + panel.add(mainTabHolder, BorderLayout.SOUTH); + + var bottomCenter = new JPanel(new BorderLayout()); + bottomCenter.setBackground(c1); + panel.add(bottomCenter); + //panel.setBorder(new EmptyBorder(5, 7, 5, 7)); + + + var topTab = Box.createHorizontalBox(); + topTab.setOpaque(true); + //tab.setBackground(new Color(68, 69, 73)); + topTab.setBackground(c1); + topTab.setBorder(new CompoundBorder( + new MatteBorder(0, 0, 0, 0, new Color(52, 117, 233)), + new EmptyBorder(10, 0, 10, 0) + )); + topTab.add(Box.createRigidArea(new Dimension(10, 5))); +// var iconLbl = new JLabel(); +// iconLbl.setForeground(new Color(52, 117, 233)); +// iconLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); +// iconLbl.setText("\uF2F5"); +// tab.add(iconLbl); + var lblTopTitle = new JLabel("Terminal 1"); + lblTopTitle.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + lblTopTitle.setForeground(new Color(180, 180, 180)); + lblTopTitle.setBorder(new EmptyBorder(0, 10, 2, 10)); + topTab.add(lblTopTitle); + topTab.add(Box.createHorizontalGlue()); +// var closeLbl = new JLabel(); +// closeLbl.setForeground(new Color(100, 100, 100)); +// closeLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); +// closeLbl.setText("\uEB96"); +// tab.add(closeLbl); + topTab.add(Box.createRigidArea(new Dimension(5, 5))); + var mainTopTabHolder = Box.createHorizontalBox(); +// mainTabHolder.setBorder(new MatteBorder(1, 0, 0, 0, +// new Color(0,0,0) +// )); + mainTopTabHolder.setOpaque(true); + mainTopTabHolder.setBackground(c1); + mainTopTabHolder.add(topTab); + + var addTopTabLbl = new JLabel(); + addTopTabLbl.setOpaque(true); + addTopTabLbl.setBackground(c1); + addTopTabLbl.setForeground(new Color(100, 100, 100)); + addTopTabLbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + addTopTabLbl.setText("\uEA13"); + addTopTabLbl.setBorder(new EmptyBorder(0, 5, 0, 5)); + mainTopTabHolder.add(addTopTabLbl); + panel.add(mainTopTabHolder, BorderLayout.NORTH); + panel.setBorder(new MatteBorder(1, 0, 0, 0, new Color(15, 15, 15))); + + return panel; + } + + private static JPanel createContentPanel(){ + var mainTop = new JPanel(new GridLayout(1, 2)); + mainTop.add(createFileBrowser(new MatteBorder(0, 0, 0, 1, new Color(15, 15, 15)), false)); + mainTop.add(createFileBrowser(border, true)); + + var mainBottom = createBottomPanel(); + + var mainCenter = new JPanel(new GridLayout(2, 1)); + mainCenter.add(mainTop); + mainCenter.add(mainBottom); + return mainCenter; + } + + private static JPanel createMainPanel() { + var tabbedPanel = new TabbedPanel( + false, + false, + new Color(52, 117, 233), + new Color(24, 24, 24), + new Color(52, 117, 233), + new Color(100, 100, 100), + new Color(31, 31, 31), + new Color(130, 130, 130), + new Color(180, 180, 180), + FontIcon.RI_INSTANCE_LINE, + FontIcon.RI_CLOSE_LINE, + Color.BLACK + ); + tabbedPanel.addTab("tab1", FontIcon.RI_INSTANCE_LINE, createContentPanel()); + tabbedPanel.addTab("tab2", FontIcon.RI_INSTANCE_LINE, createContentPanel()); +// +// +// +// var mainTabHolder = new Box(BoxLayout.X_AXIS); +// mainTabHolder.setBackground(new Color(24, 24, 24)); +// mainTabHolder.setBorder(new MatteBorder(1, 0, 1, 0, +// Color.BLACK) +// ); +// +// for (var i = 0; i < 5; i++) { +// var tab = new TabItem(FontIcon.RI_INSTANCE_LINE, FontIcon.RI_CLOSE_LINE, +// new Color(52, 117, 233), i == 0, +// new Color(24, 24, 24), false, +// new Color(52, 117, 233), new Color(100, 100, 100), +// new Color(31, 31, 31), new Color(180, 180, 180), +// new Color(180, 180, 180), false, e -> { +// }, e -> { +// }); +// tab.setTabTitle("user@server"); +//// var tab = new TabItem(true, true,new Color(180, 180, 180)); +//// tab.setBackground(new Color(31, 31, 31)); +//// tab.setTabSelectionColor(); +//// tab.setTabIcon(FontIcon.RI_INSTANCE_LINE); +//// tab.setTabIconColor(new Color(52, 117, 233)); +//// tab.setTabTitle("user@server"); +//// tab.setTabTitleForeground(new Color(180, 180, 180)); +//// tab.setTabCloseButtonColor(new Color(100, 100, 100)); +//// tab.setTabCloseButtonIcon(); +//// tab.setOpaque(true); +// +// mainTabHolder.add(tab); +// } +// +// var mainTop = new JPanel(new GridLayout(1, 2)); +// mainTop.add(createFileBrowser(new MatteBorder(0, 0, 0, 1, new Color(15, 15, 15)), false)); +// mainTop.add(createFileBrowser(border, true)); +// +// var mainBottom = createBottomPanel(); +// +// var mainCenter = new JPanel(new GridLayout(2, 1)); +// mainCenter.add(mainTop); +// mainCenter.add(mainBottom); +// +// +// tabbedPanel.addTab("user@server",FontIcon.RI_INSTANCE_LINE,mainCenter); +// +// var mainTab = new JPanel(new BorderLayout()); +// mainTab.add(mainTabHolder, BorderLayout.NORTH); +// mainTab.add(mainCenter); +// +// mainTop.setBackground(new Color(31, 31, 31)); +// mainTab.setBackground(new Color(24, 24, 24)); +// //mainTab.setBackground(new Color(31,30,36)); + return tabbedPanel; + } + + private static Box createToolbar() { + Box box = Box.createHorizontalBox(); + box.setAlignmentX(JComponent.CENTER_ALIGNMENT); + box.add(Box.createRigidArea(new Dimension(10, 30))); + box.add(createFontLabel("\uEA0E")); + box.add(createFontLabel("\uEB08")); + box.add(createFontLabel("\uEE4C")); + box.add(createFontLabel("\uEB9C")); + box.add(createFontLabel("\uEA85")); + box.add(createFontLabel("\uEFF9")); + box.add(createFontLabel("\uF1F5")); + box.add(createFontLabel("\uEB08")); + box.add(createFontLabel("\uEE4C")); + box.add(createFontLabel("\uEB9C")); + box.add(createFontLabel("\uEA85")); + box.add(createFontLabel("\uEFF9")); + box.add(createFontLabel("\uF1F5")); + box.add(createFontLabel("\uEB08")); + box.add(createFontLabel("\uEE4C")); + box.add(createFontLabel("\uEB9C")); + box.add(createFontLabel("\uEA85")); + box.add(createFontLabel("\uEFF9")); + box.add(createFontLabel("\uF1F5")); + return box; + } + + private static JLabel createFontLabel(String hex) { + var lbl = new JLabel(); + lbl.setForeground(new Color(80, 80, 80)); + lbl.setBorder(new EmptyBorder(5, 5, 5, 5)); + lbl.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + lbl.setText(hex); + return lbl; + } + + static class MyTableCellRenderer extends JLabel implements TableCellRenderer { + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, + boolean hasFocus, int rowIndex, int vColIndex) { + setText(value.toString()); + setToolTipText((String) value); + return this; + } + } +} diff --git a/app/src/main/java/muon/ui/styles/AppTheme.java b/app/src/main/java/muon/ui/styles/AppTheme.java new file mode 100644 index 00000000..f451bfa3 --- /dev/null +++ b/app/src/main/java/muon/ui/styles/AppTheme.java @@ -0,0 +1,15 @@ +package muon.ui.styles; + +import java.awt.*; + +public class AppTheme { + public static final AppTheme INSTANCE=new AppTheme(); + + public Color getBackground(){ + return new Color(31, 31, 31); + } + + public Color getTabSelectionColor(){ + return new Color(52, 117, 233); + } +} diff --git a/app/src/main/java/muon/ui/styles/FlatButtonUI.java b/app/src/main/java/muon/ui/styles/FlatButtonUI.java new file mode 100644 index 00000000..e8da1a47 --- /dev/null +++ b/app/src/main/java/muon/ui/styles/FlatButtonUI.java @@ -0,0 +1,80 @@ +package muon.ui.styles; + +import javax.swing.*; +import javax.swing.plaf.*; +import javax.swing.plaf.basic.*; +import java.awt.*; + +public class FlatButtonUI extends BasicButtonUI { + static FlatButtonUI buttonUI; + + public static ComponentUI createUI(JComponent c) { + if (buttonUI == null) { + buttonUI = new FlatButtonUI(); + } + return buttonUI; + } + + @Override + public void installUI(JComponent c) { + super.installUI(c); + if (c instanceof JButton) { + JButton btn = (JButton) c; + } + } + + protected void paintButtonNormal(Graphics g, AbstractButton b) { + if (!b.isOpaque()) { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + g2.setPaint(b.getBackground()); + g2.fillRect(0, 0, b.getWidth(), b.getHeight()); + } + } + + protected void paintButtonPressed(Graphics g, AbstractButton b) { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + g2.setColor(b.getBackground()); + // Color color = (Color) b.getClientProperty("xdmbutton.pressedcolor"); + // if (color != null) { + // g2.setPaint(color); + // } else { + // g2.setPaint(Color.GRAY); + // } + g2.fillRect(0, 0, b.getWidth(), b.getHeight()); + } + + protected void paintButtonRollOver(Graphics g, AbstractButton b) { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + // if (b.getClientProperty("xdmbutton.grayrollover") != null) { + // g2.setPaint(Color.DARK_GRAY); + // } else { + // g2.setPaint(ColorResource.getSelectionColor()); + // } + g2.setColor(b.getBackground()); + g2.fillRect(0, 0, b.getWidth(), b.getHeight()); + } + + public void paint(Graphics g, JComponent c) { + try { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); + + AbstractButton b = (AbstractButton) c; + ButtonModel bm = b.getModel(); + if (bm.isRollover()) { + paintButtonRollOver(g2, b); + } else { + paintButtonNormal(g2, b); + } + super.paint(g2, c); + } catch (Exception e) { + } + } +} diff --git a/app/src/main/java/muon/ui/styles/FlatLookAndFeel.java b/app/src/main/java/muon/ui/styles/FlatLookAndFeel.java new file mode 100644 index 00000000..b576e4aa --- /dev/null +++ b/app/src/main/java/muon/ui/styles/FlatLookAndFeel.java @@ -0,0 +1,30 @@ +package muon.ui.styles; + +import javax.swing.plaf.basic.BasicLookAndFeel; + +public class FlatLookAndFeel extends BasicLookAndFeel { + @Override + public String getName() { + return "FlatLookAndFeel"; + } + + @Override + public String getID() { + return "FlatLookAndFeel"; + } + + @Override + public String getDescription() { + return "FlatLookAndFeel"; + } + + @Override + public boolean isNativeLookAndFeel() { + return false; + } + + @Override + public boolean isSupportedLookAndFeel() { + return true; + } +} diff --git a/app/src/main/java/muon/ui/widgets/HomePanel.java b/app/src/main/java/muon/ui/widgets/HomePanel.java new file mode 100644 index 00000000..a87328b5 --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/HomePanel.java @@ -0,0 +1,26 @@ +package muon.ui.widgets; + +import muon.ui.styles.AppTheme; +import muon.ui.styles.FlatButtonUI; + +import javax.swing.*; +import javax.swing.plaf.basic.BasicButtonUI; +import java.awt.*; + +public class HomePanel extends JPanel { + public HomePanel() { + super(null); + setBackground(AppTheme.INSTANCE.getBackground()); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + var iconLabel = new JLabel("Jdadasdasd"); + iconLabel.setAlignmentX(Component.CENTER_ALIGNMENT); + var btn2 = new JButton("Jdadasdasd"); + btn2.setUI(new FlatButtonUI()); + btn2.setAlignmentX(Component.CENTER_ALIGNMENT); + add(Box.createVerticalGlue()); + add(iconLabel); + add(Box.createRigidArea(new Dimension(0,10))); + add(btn2); + add(Box.createVerticalGlue()); + } +} diff --git a/app/src/main/java/muon/ui/widgets/TabEvent.java b/app/src/main/java/muon/ui/widgets/TabEvent.java new file mode 100644 index 00000000..b2545cb3 --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/TabEvent.java @@ -0,0 +1,20 @@ +package muon.ui.widgets; + +import java.awt.event.ActionEvent; + +public class TabEvent extends ActionEvent { + private int selectedIndex; + + public TabEvent(Object source, int index) { + super(source, index, "tab_event"); + this.selectedIndex = index; + } + + public int getSelectedIndex() { + return selectedIndex; + } + + public void setSelectedIndex(int selectedIndex) { + this.selectedIndex = selectedIndex; + } +} diff --git a/app/src/main/java/muon/ui/widgets/TabItem.java b/app/src/main/java/muon/ui/widgets/TabItem.java new file mode 100644 index 00000000..d912d7e8 --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/TabItem.java @@ -0,0 +1,165 @@ +package muon.ui.widgets; + +import muon.util.FontIcon; +import muon.util.IconFont; + +import javax.swing.*; +import javax.swing.border.Border; +import javax.swing.border.CompoundBorder; +import javax.swing.border.EmptyBorder; +import javax.swing.border.MatteBorder; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.Objects; + +public class TabItem extends JComponent { + private JLabel tabIconLabel; + private JLabel tabTitle; + private JLabel tabCloseButton; + private boolean isSelected; + private boolean isStretchable, isCloseButtonHidden; + private Color selectionColor, backgroundColor, iconColor, closeButtonColor, selectionBackground, titleColor, selectedTitleColor; + private Border selectedBorder, unselectedBorder; + private FontIcon titleIcon, closeIcon; + private ActionListener tabClicked, closeClicked; + + public TabItem(FontIcon titleIcon, FontIcon closeIcon, + Color selectionColor, boolean isSelected, + Color backgroundColor, boolean hideCloseButton, + Color iconColor, Color closeButtonColor, + Color selectionBackground, Color titleColor, + Color selectedTitleColor, boolean isStretchable, + ActionListener tabClicked, ActionListener closeClicked) { + super(); + + this.titleIcon = titleIcon; + this.closeIcon = closeIcon; + this.selectionColor = selectionColor; + this.isSelected = isSelected; + this.isStretchable = isStretchable; + this.iconColor = iconColor; + this.closeButtonColor = closeButtonColor; + this.selectionBackground = selectionBackground; + this.backgroundColor = backgroundColor; + this.isCloseButtonHidden = hideCloseButton; + this.titleColor = titleColor; + this.selectedTitleColor = selectedTitleColor; + this.selectedBorder = createBorder(selectionColor); + this.unselectedBorder = createBorder(backgroundColor); + if (Objects.nonNull(titleIcon)) { + this.tabIconLabel = new JLabel(); + this.tabIconLabel.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + } + this.tabTitle = new JLabel(); + this.tabTitle.setMinimumSize(new Dimension(0, 0)); + this.tabTitle.setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); + this.tabTitle.setBorder(new EmptyBorder(0, 10, 2, 10)); + if (Objects.nonNull(closeIcon)) { + this.tabCloseButton = new JLabel(); + this.tabCloseButton.setFont(IconFont.getSharedInstance().getIconFont(18.0f)); + this.tabCloseButton.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (closeClicked != null) { + closeClicked.actionPerformed(new ActionEvent(TabItem.this, + TabItem.this.hashCode(), + "tab_close")); + } + } + }); + } + + setOpaque(true); + if (isStretchable) { + setLayout(new BorderLayout(10, 10)); + add(tabIconLabel, BorderLayout.WEST); + add(tabTitle); + add(tabCloseButton, BorderLayout.EAST); + } else { + setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); + add(tabIconLabel); + add(tabTitle); + add(tabCloseButton); + } + setSelected(isSelected); + + addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (tabClicked != null) { + tabClicked.actionPerformed(new ActionEvent(TabItem.this, + TabItem.this.hashCode(), + "tab_click")); + } + } + + @Override + public void mouseEntered(MouseEvent e) { + if (isCloseButtonHidden) { + tabCloseButton.setForeground(closeButtonColor); + } + } + + @Override + public void mouseExited(MouseEvent e) { + if (isCloseButtonHidden) { + tabCloseButton.setForeground(getBackground()); + } + } + }); + } + + public void setTabTitle(String title) { + tabTitle.setText(title); + } + + public void setSelected(boolean selected) { + this.isSelected = selected; + updateStyles(); + } + + public boolean isSelected() { + return isSelected; + } + + protected void paintComponent(Graphics g) { + if (isOpaque()) { + g.setColor(getBackground()); + g.fillRect(0, 0, getWidth(), getHeight()); + } + } + + private void updateStyles() { + if (isSelected) { + setBackground(selectionBackground); + tabTitle.setForeground(selectedTitleColor); + setBorder(selectedBorder); + } else { + setBackground(backgroundColor); + tabTitle.setForeground(titleColor); + setBorder(unselectedBorder); + } + if (tabIconLabel != null) { + tabIconLabel.setForeground(iconColor); + tabIconLabel.setText(titleIcon.getValue()); + } + if (tabCloseButton != null) { + tabCloseButton.setForeground(isCloseButtonHidden ? getBackground() : closeButtonColor); + tabCloseButton.setText(closeIcon.getValue()); + } + revalidate(); + repaint(); + } + + private Border createBorder(Color color) { + return new CompoundBorder( + new MatteBorder(1, 0, 0, 0, + color), + new EmptyBorder(5, 10, 5, 10) + ); + } + +} diff --git a/app/src/main/java/muon/ui/widgets/TabListener.java b/app/src/main/java/muon/ui/widgets/TabListener.java new file mode 100644 index 00000000..abf74439 --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/TabListener.java @@ -0,0 +1,9 @@ +package muon.ui.widgets; + +public interface TabListener { + void selectionChanged(TabEvent e); + + boolean tabClosing(TabEvent e); + + void tabClosed(TabEvent e); +} diff --git a/app/src/main/java/muon/ui/widgets/TabSelectionEvent.java b/app/src/main/java/muon/ui/widgets/TabSelectionEvent.java new file mode 100644 index 00000000..3120ff4c --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/TabSelectionEvent.java @@ -0,0 +1,18 @@ +package muon.ui.widgets; + +import java.awt.event.ActionEvent; + +public class TabSelectionEvent extends ActionEvent { + private int selectedIndex; + public TabSelectionEvent(Object source, int index) { + super(source, index, "tab_selection"); + } + + public int getSelectedIndex() { + return selectedIndex; + } + + public void setSelectedIndex(int selectedIndex) { + this.selectedIndex = selectedIndex; + } +} diff --git a/app/src/main/java/muon/ui/widgets/TabbedPanel.java b/app/src/main/java/muon/ui/widgets/TabbedPanel.java new file mode 100644 index 00000000..4e462b9e --- /dev/null +++ b/app/src/main/java/muon/ui/widgets/TabbedPanel.java @@ -0,0 +1,173 @@ +package muon.ui.widgets; + +import muon.util.FontIcon; + +import javax.swing.*; +import javax.swing.border.MatteBorder; +import java.awt.*; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public class TabbedPanel extends JPanel { + private boolean isStretchable, isCloseButtonHidden; + private Color selectionColor, backgroundColor, iconColor, + closeButtonColor, selectionBackground, titleColor, + selectedTitleColor; + private FontIcon titleIcon, closeIcon; + private Box tabHolder; + private CardLayout cardLayout; + private JPanel cardPanel; + private int selectedIndex; + private final List tabListeners; + + public TabbedPanel(boolean isStretchable, + boolean isCloseButtonHidden, + Color selectionColor, + Color backgroundColor, + Color iconColor, + Color closeButtonColor, + Color selectionBackground, + Color titleColor, + Color selectedTitleColor, + FontIcon titleIcon, + FontIcon closeIcon, + Color tabBorderColor) { + super(new BorderLayout(), true); + this.isStretchable = isStretchable; + this.isCloseButtonHidden = isCloseButtonHidden; + this.selectionColor = selectionColor; + this.backgroundColor = backgroundColor; + this.iconColor = iconColor; + this.closeButtonColor = closeButtonColor; + this.selectionBackground = selectionBackground; + this.titleColor = titleColor; + this.selectedTitleColor = selectedTitleColor; + this.titleIcon = titleIcon; + this.closeIcon = closeIcon; + + this.tabListeners = Collections.synchronizedList(new ArrayList<>()); + + this.tabHolder = Box.createHorizontalBox(); + if (Objects.nonNull(tabBorderColor)) { + this.tabHolder.setBorder(new MatteBorder(1, 0, 1, 0, tabBorderColor)); + } + + cardLayout = new CardLayout(); + cardPanel = new JPanel(cardLayout); + cardPanel.setOpaque(true); + cardPanel.setBackground(this.backgroundColor); + + JPanel tabTop = new JPanel(new BorderLayout()); + tabTop.setOpaque(true); + tabTop.setBackground(this.backgroundColor); + tabTop.add(tabHolder); + + add(tabTop, BorderLayout.NORTH); + add(cardPanel); + } + + + public void addTab(String tabTitle, FontIcon tabIcon, Component body) { + var tab = new TabItem(tabIcon, this.closeIcon, + selectionColor, true, + backgroundColor, isCloseButtonHidden, + iconColor, closeButtonColor, + selectionBackground, titleColor, + selectedTitleColor, isStretchable, e -> { + int index = getTabIndex((TabItem) e.getSource()); + setSelectedIndex(index); + notifyTabSelection(index); + }, e -> { + int index = getTabIndex((TabItem) e.getSource()); + closeTab(index); + }); + tab.setTabTitle(tabTitle); + tab.putClientProperty("tab.content", body); + tabHolder.add(tab); + cardPanel.add(body, tab.hashCode() + ""); + + int index = getTabIndex(tab); + setSelectedIndex(index); + notifyTabSelection(index); + } + + private void notifyTabSelection(int index) { + synchronized (tabListeners) { + for (var tabListener : + tabListeners) { + tabListener.selectionChanged(new TabEvent(this, index)); + } + } + } + + public void setSelectedIndex(int index) { + if (index < 0) { + return; + } + this.selectedIndex = index; + for (int i = 0; i < tabHolder.getComponentCount(); i++) { + var t = (TabItem) tabHolder.getComponent(i); + if (i == index) { + t.setSelected(true); + cardLayout.show(cardPanel, t.hashCode() + ""); + } else { + t.setSelected(false); + } + } + } + + private int getTabIndex(TabItem item) { + for (int i = 0; i < tabHolder.getComponentCount(); i++) { + var t = (TabItem) tabHolder.getComponent(i); + if (item == t) { + return i; + } + } + return -1; + } + + private boolean notifyTabClosing(int index) { + synchronized (tabListeners) { + for (var tabListener : + tabListeners) { + if (!tabListener.tabClosing(new TabEvent(this, index))) { + return false; + } + } + } + return true; + } + + private void notifyTabClosed(int index) { + synchronized (tabListeners) { + for (var tabListener : + tabListeners) { + if (!tabListener.tabClosing(new TabEvent(this, index))) { + return; + } + } + } + } + + public void closeTab(int index) { + if (tabHolder.getComponentCount() == 0) { + return; + } + if (notifyTabClosing(index)) { + var tab = (TabItem) tabHolder.getComponent(index); + tabHolder.remove(tab); + cardPanel.remove((Component) tab.getClientProperty("tab.content")); + notifyTabClosed(index); + if (index == tabHolder.getComponentCount()) { + index--; + } + setSelectedIndex(index); + revalidate(); + repaint(); + } + } + +} diff --git a/app/src/main/java/muon/util/FontIcon.java b/app/src/main/java/muon/util/FontIcon.java new file mode 100644 index 00000000..ba0e8c68 --- /dev/null +++ b/app/src/main/java/muon/util/FontIcon.java @@ -0,0 +1,23 @@ +package muon.util; + +public enum FontIcon { + RI_ADD_LINE("\uea13"), + RI_MENU_LINE("\uef3e"), + RI_INSTANCE_LINE("\uf383"), + RI_ARROW_LEFT_LINE("\uea60"), + RI_ARROW_RIGHT_LINE("\uea6c"), + RI_ARROW_UP_LINE("\uea76"), + RI_LOOP_RIGHT_LINE("\uf33f"), + RI_MORE_2_LINE("\uef77"), + RI_CLOSE_LINE("\ueb99"); + + public String getValue() { + return value; + } + + private FontIcon(String value) { + this.value = value; + } + + private String value; +} diff --git a/app/src/main/java/muon/util/IconFont.java b/app/src/main/java/muon/util/IconFont.java new file mode 100644 index 00000000..1104f529 --- /dev/null +++ b/app/src/main/java/muon/util/IconFont.java @@ -0,0 +1,43 @@ +package muon.util; + +import java.awt.*; +import java.io.InputStream; + +public final class IconFont { + public static final String RI_ADD_LINE= "\uea13"; + public static final String RI_MENU_LINE= "\uef3e"; + public static final String RI_INSTANCE_LINE= "\uf383"; + public static final String RI_ARROW_LEFT_LINE= "\uea60"; + public static final String RI_ARROW_RIGHT_LINE= "\uea6c"; + public static final String RI_ARROW_UP_LINE= "\uea76"; + public static final String RI_LOOP_RIGHT_LINE= "\uf33f"; + public static final String RI_MORE_2_LINE= "\uef77"; + public static final String RI_CLOSE_LINE= "\ueb99"; + + public static IconFont getSharedInstance() { + return IconFontHolder.me; + } + + public Font getIconFont(float size) { + return this.font.deriveFont(size); + } + + private Font loadIconFont() { + try (InputStream is = IconFont.class.getResourceAsStream("/fonts/remixicon.ttf")) { + return Font.createFont(Font.TRUETYPE_FONT, is); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private Font font; + + private IconFont() { + this.font = this.loadIconFont(); + } + + private static final class IconFontHolder { + private static final IconFont me = new IconFont(); + } +} diff --git a/app/src/main/resources/fonts/remixicon.ttf b/app/src/main/resources/fonts/remixicon.ttf new file mode 100644 index 00000000..0bcc7870 Binary files /dev/null and b/app/src/main/resources/fonts/remixicon.ttf differ diff --git a/muon-main/src/test/java/muon/AppTest.java b/app/src/test/java/muon/AppTest.java similarity index 100% rename from muon-main/src/test/java/muon/AppTest.java rename to app/src/test/java/muon/AppTest.java diff --git a/app/target/classes/fonts/remixicon.ttf b/app/target/classes/fonts/remixicon.ttf new file mode 100644 index 00000000..0bcc7870 Binary files /dev/null and b/app/target/classes/fonts/remixicon.ttf differ diff --git a/app/target/maven-archiver/pom.properties b/app/target/maven-archiver/pom.properties new file mode 100644 index 00000000..9b0343f7 --- /dev/null +++ b/app/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sun Jul 30 15:26:15 IST 2023 +artifactId=muon-main +groupId=muon +version=1.0.1 diff --git a/app/target/surefire-reports/TEST-muon.AppTest.xml b/app/target/surefire-reports/TEST-muon.AppTest.xml new file mode 100644 index 00000000..8125d77a --- /dev/null +++ b/app/target/surefire-reports/TEST-muon.AppTest.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/target/surefire-reports/muon.AppTest.txt b/app/target/surefire-reports/muon.AppTest.txt new file mode 100644 index 00000000..47c1c8a7 --- /dev/null +++ b/app/target/surefire-reports/muon.AppTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: muon.AppTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in muon.AppTest diff --git a/muon-app/.gitignore b/muon-app1/.gitignore similarity index 100% rename from muon-app/.gitignore rename to muon-app1/.gitignore diff --git a/muon-app/pom.xml b/muon-app1/pom.xml similarity index 99% rename from muon-app/pom.xml rename to muon-app1/pom.xml index c7ea71dc..75207289 100644 --- a/muon-app/pom.xml +++ b/muon-app1/pom.xml @@ -10,7 +10,7 @@ 0.0.1-SNAPSHOT muon-app - muon-app + muon-app1 muon-app http://maven.apache.org diff --git a/muon-app/src/main/java/muon/app/App.java b/muon-app1/src/main/java/muon/app/App.java similarity index 100% rename from muon-app/src/main/java/muon/app/App.java rename to muon-app1/src/main/java/muon/app/App.java diff --git a/muon-app/src/main/java/muon/app/PasswordStore.java b/muon-app1/src/main/java/muon/app/PasswordStore.java similarity index 100% rename from muon-app/src/main/java/muon/app/PasswordStore.java rename to muon-app1/src/main/java/muon/app/PasswordStore.java diff --git a/muon-app/src/main/java/muon/app/Settings.java b/muon-app1/src/main/java/muon/app/Settings.java similarity index 100% rename from muon-app/src/main/java/muon/app/Settings.java rename to muon-app1/src/main/java/muon/app/Settings.java diff --git a/muon-app/src/main/java/muon/app/SnippetManager.java b/muon-app1/src/main/java/muon/app/SnippetManager.java similarity index 100% rename from muon-app/src/main/java/muon/app/SnippetManager.java rename to muon-app1/src/main/java/muon/app/SnippetManager.java diff --git a/muon-app/src/main/java/muon/app/common/FileInfo.java b/muon-app1/src/main/java/muon/app/common/FileInfo.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/FileInfo.java rename to muon-app1/src/main/java/muon/app/common/FileInfo.java diff --git a/muon-app/src/main/java/muon/app/common/FileSystem.java b/muon-app1/src/main/java/muon/app/common/FileSystem.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/FileSystem.java rename to muon-app1/src/main/java/muon/app/common/FileSystem.java diff --git a/muon-app/src/main/java/muon/app/common/FileType.java b/muon-app1/src/main/java/muon/app/common/FileType.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/FileType.java rename to muon-app1/src/main/java/muon/app/common/FileType.java diff --git a/muon-app/src/main/java/muon/app/common/InputTransferChannel.java b/muon-app1/src/main/java/muon/app/common/InputTransferChannel.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/InputTransferChannel.java rename to muon-app1/src/main/java/muon/app/common/InputTransferChannel.java diff --git a/muon-app/src/main/java/muon/app/common/OutputTransferChannel.java b/muon-app1/src/main/java/muon/app/common/OutputTransferChannel.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/OutputTransferChannel.java rename to muon-app1/src/main/java/muon/app/common/OutputTransferChannel.java diff --git a/muon-app/src/main/java/muon/app/common/local/LocalFileSystem.java b/muon-app1/src/main/java/muon/app/common/local/LocalFileSystem.java similarity index 100% rename from muon-app/src/main/java/muon/app/common/local/LocalFileSystem.java rename to muon-app1/src/main/java/muon/app/common/local/LocalFileSystem.java diff --git a/muon-app/src/main/java/muon/app/ssh/CachedCredentialProvider.java b/muon-app1/src/main/java/muon/app/ssh/CachedCredentialProvider.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/CachedCredentialProvider.java rename to muon-app1/src/main/java/muon/app/ssh/CachedCredentialProvider.java diff --git a/muon-app/src/main/java/muon/app/ssh/CustomSocketFactory.java b/muon-app1/src/main/java/muon/app/ssh/CustomSocketFactory.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/CustomSocketFactory.java rename to muon-app1/src/main/java/muon/app/ssh/CustomSocketFactory.java diff --git a/muon-app/src/main/java/muon/app/ssh/ExtendedRemoteDirectory.java b/muon-app1/src/main/java/muon/app/ssh/ExtendedRemoteDirectory.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/ExtendedRemoteDirectory.java rename to muon-app1/src/main/java/muon/app/ssh/ExtendedRemoteDirectory.java diff --git a/muon-app/src/main/java/muon/app/ssh/GraphicalHostKeyVerifier.java b/muon-app1/src/main/java/muon/app/ssh/GraphicalHostKeyVerifier.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/GraphicalHostKeyVerifier.java rename to muon-app1/src/main/java/muon/app/ssh/GraphicalHostKeyVerifier.java diff --git a/muon-app/src/main/java/muon/app/ssh/GraphicalInputBlocker.java b/muon-app1/src/main/java/muon/app/ssh/GraphicalInputBlocker.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/GraphicalInputBlocker.java rename to muon-app1/src/main/java/muon/app/ssh/GraphicalInputBlocker.java diff --git a/muon-app/src/main/java/muon/app/ssh/InputBlocker.java b/muon-app1/src/main/java/muon/app/ssh/InputBlocker.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/InputBlocker.java rename to muon-app1/src/main/java/muon/app/ssh/InputBlocker.java diff --git a/muon-app/src/main/java/muon/app/ssh/InteractiveResponseProvider.java b/muon-app1/src/main/java/muon/app/ssh/InteractiveResponseProvider.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/InteractiveResponseProvider.java rename to muon-app1/src/main/java/muon/app/ssh/InteractiveResponseProvider.java diff --git a/muon-app/src/main/java/muon/app/ssh/OperationCancelledException.java b/muon-app1/src/main/java/muon/app/ssh/OperationCancelledException.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/OperationCancelledException.java rename to muon-app1/src/main/java/muon/app/ssh/OperationCancelledException.java diff --git a/muon-app/src/main/java/muon/app/ssh/PasswordFinderDialog.java b/muon-app1/src/main/java/muon/app/ssh/PasswordFinderDialog.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/PasswordFinderDialog.java rename to muon-app1/src/main/java/muon/app/ssh/PasswordFinderDialog.java diff --git a/muon-app/src/main/java/muon/app/ssh/PortForwardingSession.java b/muon-app1/src/main/java/muon/app/ssh/PortForwardingSession.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/PortForwardingSession.java rename to muon-app1/src/main/java/muon/app/ssh/PortForwardingSession.java diff --git a/muon-app/src/main/java/muon/app/ssh/RemoteResourceInfoWrapper.java b/muon-app1/src/main/java/muon/app/ssh/RemoteResourceInfoWrapper.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/RemoteResourceInfoWrapper.java rename to muon-app1/src/main/java/muon/app/ssh/RemoteResourceInfoWrapper.java diff --git a/muon-app/src/main/java/muon/app/ssh/RemoteSessionInstance.java b/muon-app1/src/main/java/muon/app/ssh/RemoteSessionInstance.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/RemoteSessionInstance.java rename to muon-app1/src/main/java/muon/app/ssh/RemoteSessionInstance.java diff --git a/muon-app/src/main/java/muon/app/ssh/SSHRemoteFileInputStream.java b/muon-app1/src/main/java/muon/app/ssh/SSHRemoteFileInputStream.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/SSHRemoteFileInputStream.java rename to muon-app1/src/main/java/muon/app/ssh/SSHRemoteFileInputStream.java diff --git a/muon-app/src/main/java/muon/app/ssh/SSHRemoteFileOutputStream.java b/muon-app1/src/main/java/muon/app/ssh/SSHRemoteFileOutputStream.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/SSHRemoteFileOutputStream.java rename to muon-app1/src/main/java/muon/app/ssh/SSHRemoteFileOutputStream.java diff --git a/muon-app/src/main/java/muon/app/ssh/SessionChannel.java b/muon-app1/src/main/java/muon/app/ssh/SessionChannel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/SessionChannel.java rename to muon-app1/src/main/java/muon/app/ssh/SessionChannel.java diff --git a/muon-app/src/main/java/muon/app/ssh/SshClient2.java b/muon-app1/src/main/java/muon/app/ssh/SshClient2.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/SshClient2.java rename to muon-app1/src/main/java/muon/app/ssh/SshClient2.java diff --git a/muon-app/src/main/java/muon/app/ssh/SshFileSystem.java b/muon-app1/src/main/java/muon/app/ssh/SshFileSystem.java similarity index 100% rename from muon-app/src/main/java/muon/app/ssh/SshFileSystem.java rename to muon-app1/src/main/java/muon/app/ssh/SshFileSystem.java diff --git a/muon-app/src/main/java/muon/app/ui/AppWindow.java b/muon-app1/src/main/java/muon/app/ui/AppWindow.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/AppWindow.java rename to muon-app1/src/main/java/muon/app/ui/AppWindow.java diff --git a/muon-app/src/main/java/muon/app/ui/components/BlockingGlassPane.java b/muon-app1/src/main/java/muon/app/ui/components/BlockingGlassPane.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/BlockingGlassPane.java rename to muon-app1/src/main/java/muon/app/ui/components/BlockingGlassPane.java diff --git a/muon-app/src/main/java/muon/app/ui/components/ClosableTabContent.java b/muon-app1/src/main/java/muon/app/ui/components/ClosableTabContent.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/ClosableTabContent.java rename to muon-app1/src/main/java/muon/app/ui/components/ClosableTabContent.java diff --git a/muon-app/src/main/java/muon/app/ui/components/ClosableTabbedPanel.java b/muon-app1/src/main/java/muon/app/ui/components/ClosableTabbedPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/ClosableTabbedPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/ClosableTabbedPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/DisabledPanel.java b/muon-app1/src/main/java/muon/app/ui/components/DisabledPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/DisabledPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/DisabledPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/ImageView.java b/muon-app1/src/main/java/muon/app/ui/components/ImageView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/ImageView.java rename to muon-app1/src/main/java/muon/app/ui/components/ImageView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/KeyShortcutComponent.java b/muon-app1/src/main/java/muon/app/ui/components/KeyShortcutComponent.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/KeyShortcutComponent.java rename to muon-app1/src/main/java/muon/app/ui/components/KeyShortcutComponent.java diff --git a/muon-app/src/main/java/muon/app/ui/components/RoundedButtonPainter.java b/muon-app1/src/main/java/muon/app/ui/components/RoundedButtonPainter.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/RoundedButtonPainter.java rename to muon-app1/src/main/java/muon/app/ui/components/RoundedButtonPainter.java diff --git a/muon-app/src/main/java/muon/app/ui/components/SkinnedScrollPane.java b/muon-app1/src/main/java/muon/app/ui/components/SkinnedScrollPane.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/SkinnedScrollPane.java rename to muon-app1/src/main/java/muon/app/ui/components/SkinnedScrollPane.java diff --git a/muon-app/src/main/java/muon/app/ui/components/SkinnedSplitPane.java b/muon-app1/src/main/java/muon/app/ui/components/SkinnedSplitPane.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/SkinnedSplitPane.java rename to muon-app1/src/main/java/muon/app/ui/components/SkinnedSplitPane.java diff --git a/muon-app/src/main/java/muon/app/ui/components/SkinnedTextArea.java b/muon-app1/src/main/java/muon/app/ui/components/SkinnedTextArea.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/SkinnedTextArea.java rename to muon-app1/src/main/java/muon/app/ui/components/SkinnedTextArea.java diff --git a/muon-app/src/main/java/muon/app/ui/components/SkinnedTextField.java b/muon-app1/src/main/java/muon/app/ui/components/SkinnedTextField.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/SkinnedTextField.java rename to muon-app1/src/main/java/muon/app/ui/components/SkinnedTextField.java diff --git a/muon-app/src/main/java/muon/app/ui/components/TabCloseButton.java b/muon-app1/src/main/java/muon/app/ui/components/TabCloseButton.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/TabCloseButton.java rename to muon-app1/src/main/java/muon/app/ui/components/TabCloseButton.java diff --git a/muon-app/src/main/java/muon/app/ui/components/TabbedPanel.java b/muon-app1/src/main/java/muon/app/ui/components/TabbedPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/TabbedPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/TabbedPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/TextGutter.java b/muon-app1/src/main/java/muon/app/ui/components/TextGutter.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/TextGutter.java rename to muon-app1/src/main/java/muon/app/ui/components/TextGutter.java diff --git a/muon-app/src/main/java/muon/app/ui/components/TextLineNumber.java b/muon-app1/src/main/java/muon/app/ui/components/TextLineNumber.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/TextLineNumber.java rename to muon-app1/src/main/java/muon/app/ui/components/TextLineNumber.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/AutoScrollingJTree.java b/muon-app1/src/main/java/muon/app/ui/components/session/AutoScrollingJTree.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/AutoScrollingJTree.java rename to muon-app1/src/main/java/muon/app/ui/components/session/AutoScrollingJTree.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/ExternalEditorHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/ExternalEditorHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/ExternalEditorHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/ExternalEditorHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/FileChangeWatcher.java b/muon-app1/src/main/java/muon/app/ui/components/session/FileChangeWatcher.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/FileChangeWatcher.java rename to muon-app1/src/main/java/muon/app/ui/components/session/FileChangeWatcher.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/GUIBlocker.java b/muon-app1/src/main/java/muon/app/ui/components/session/GUIBlocker.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/GUIBlocker.java rename to muon-app1/src/main/java/muon/app/ui/components/session/GUIBlocker.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/HopEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/HopEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/HopEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/HopEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/ImportDlg.java b/muon-app1/src/main/java/muon/app/ui/components/session/ImportDlg.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/ImportDlg.java rename to muon-app1/src/main/java/muon/app/ui/components/session/ImportDlg.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/JumpHostPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/JumpHostPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/JumpHostPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/JumpHostPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/NamedItem.java b/muon-app1/src/main/java/muon/app/ui/components/session/NamedItem.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/NamedItem.java rename to muon-app1/src/main/java/muon/app/ui/components/session/NamedItem.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/NewSessionDlg.java b/muon-app1/src/main/java/muon/app/ui/components/session/NewSessionDlg.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/NewSessionDlg.java rename to muon-app1/src/main/java/muon/app/ui/components/session/NewSessionDlg.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/Page.java b/muon-app1/src/main/java/muon/app/ui/components/session/Page.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/Page.java rename to muon-app1/src/main/java/muon/app/ui/components/session/Page.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/PageHolder.java b/muon-app1/src/main/java/muon/app/ui/components/session/PageHolder.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/PageHolder.java rename to muon-app1/src/main/java/muon/app/ui/components/session/PageHolder.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/PortForwardingPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/PortForwardingPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/PortForwardingPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/PortForwardingPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/PortForwardingRule.java b/muon-app1/src/main/java/muon/app/ui/components/session/PortForwardingRule.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/PortForwardingRule.java rename to muon-app1/src/main/java/muon/app/ui/components/session/PortForwardingRule.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/PuttyImporter.java b/muon-app1/src/main/java/muon/app/ui/components/session/PuttyImporter.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/PuttyImporter.java rename to muon-app1/src/main/java/muon/app/ui/components/session/PuttyImporter.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SavedSessionTree.java b/muon-app1/src/main/java/muon/app/ui/components/session/SavedSessionTree.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SavedSessionTree.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SavedSessionTree.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionConnectDialog.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionConnectDialog.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionConnectDialog.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionConnectDialog.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionContentPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionContentPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionContentPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionContentPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionExportImport.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionExportImport.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionExportImport.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionExportImport.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionFolder.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionFolder.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionFolder.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionFolder.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionInfo.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionInfo.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionInfo.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionInfo.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionInfoPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionInfoPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionInfoPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionInfoPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionListPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionListPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionListPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionListPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/SessionStore.java b/muon-app1/src/main/java/muon/app/ui/components/session/SessionStore.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/SessionStore.java rename to muon-app1/src/main/java/muon/app/ui/components/session/SessionStore.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/TabbedPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/TabbedPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/TabbedPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/TabbedPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/TreeTransferHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/TreeTransferHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/TreeTransferHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/TreeTransferHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/WinScpImporter.java b/muon-app1/src/main/java/muon/app/ui/components/session/WinScpImporter.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/WinScpImporter.java rename to muon-app1/src/main/java/muon/app/ui/components/session/WinScpImporter.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskAnalysisTask.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskAnalysisTask.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskAnalysisTask.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskAnalysisTask.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskUsageEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskUsageEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskUsageEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskUsageEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskspaceAnalyzer.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskspaceAnalyzer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/DiskspaceAnalyzer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DiskspaceAnalyzer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/DuOutputParser.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DuOutputParser.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/DuOutputParser.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/DuOutputParser.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/PartitionTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/PartitionTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/diskspace/UsagePercentageRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/diskspace/UsagePercentageRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/diskspace/UsagePercentageRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/diskspace/UsagePercentageRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/AbstractFileBrowserView.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/AbstractFileBrowserView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/AbstractFileBrowserView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/AbstractFileBrowserView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/BookmarkManager.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/BookmarkManager.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/BookmarkManager.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/BookmarkManager.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/FileBrowser.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/FileBrowser.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/FileBrowser.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/FileBrowser.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/NavigationHistory.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/NavigationHistory.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/NavigationHistory.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/NavigationHistory.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalFileBrowserView.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalFileBrowserView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalFileBrowserView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalFileBrowserView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalFileOperations.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalFileOperations.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalFileOperations.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalFileOperations.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalMenuHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalMenuHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/local/LocalMenuHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/local/LocalMenuHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/LocalPipeTransfer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/LocalPipeTransfer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/LocalPipeTransfer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/LocalPipeTransfer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/Remote2RemoteTransferDialog.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/Remote2RemoteTransferDialog.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/Remote2RemoteTransferDialog.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/Remote2RemoteTransferDialog.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteHostRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteHostRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteHostRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteHostRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteServerEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteServerEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteServerEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/remote2remote/RemoteServerEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/ssh/ArchiveOperation.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/ArchiveOperation.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/ssh/ArchiveOperation.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/ArchiveOperation.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/ssh/PropertiesDialog.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/PropertiesDialog.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/ssh/PropertiesDialog.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/PropertiesDialog.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshFileBrowserView.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshFileBrowserView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshFileBrowserView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshFileBrowserView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshFileOperations.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshFileOperations.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshFileOperations.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshFileOperations.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshMenuHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshMenuHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/ssh/SshMenuHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/ssh/SshMenuHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundFileTransfer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundFileTransfer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundFileTransfer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundFileTransfer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundTransferPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundTransferPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundTransferPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/BackgroundTransferPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/ByteChunk.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/ByteChunk.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/ByteChunk.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/ByteChunk.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/FileTransfer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/FileTransfer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/FileTransfer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/FileTransfer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/FileTransferProgress.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/FileTransferProgress.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/FileTransferProgress.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/FileTransferProgress.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/transfer/TransferProgressPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/TransferProgressPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/transfer/TransferProgressPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/transfer/TransferProgressPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBar.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBar.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBar.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBar.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBarBreadCrumbs.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBarBreadCrumbs.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBarBreadCrumbs.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBarBreadCrumbs.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBarLayout.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBarLayout.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/AddressBarLayout.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/AddressBarLayout.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/DndTransferData.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/DndTransferData.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/DndTransferData.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/DndTransferData.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/DndTransferHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/DndTransferHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/DndTransferHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/DndTransferHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderView.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewEventListener.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewEventListener.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewEventListener.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewEventListener.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewKeyHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewKeyHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewKeyHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewKeyHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewListCellRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewListCellRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewListCellRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewListCellRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/FolderViewTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/FolderViewTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/ListView.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/ListView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/ListView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/ListView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/OverflowMenuHandler.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/OverflowMenuHandler.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/OverflowMenuHandler.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/OverflowMenuHandler.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/TableCellLabelRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/TableCellLabelRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/TableCellLabelRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/TableCellLabelRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/files/view/TableCellTextRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/files/view/TableCellTextRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/files/view/TableCellTextRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/files/view/TableCellTextRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/logviewer/LogContent.java b/muon-app1/src/main/java/muon/app/ui/components/session/logviewer/LogContent.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/logviewer/LogContent.java rename to muon-app1/src/main/java/muon/app/ui/components/session/logviewer/LogContent.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/logviewer/LogViewer.java b/muon-app1/src/main/java/muon/app/ui/components/session/logviewer/LogViewer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/logviewer/LogViewer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/logviewer/LogViewer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/logviewer/PagedLogSearchPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/logviewer/PagedLogSearchPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/logviewer/PagedLogSearchPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/logviewer/PagedLogSearchPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/logviewer/SearchListener.java b/muon-app1/src/main/java/muon/app/ui/components/session/logviewer/SearchListener.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/logviewer/SearchListener.java rename to muon-app1/src/main/java/muon/app/ui/components/session/logviewer/SearchListener.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/logviewer/StartPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/logviewer/StartPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/logviewer/StartPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/logviewer/StartPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessListPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessListPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessListPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessListPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessListRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessListRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessListRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessListRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessTableEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessTableEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessTableEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessTableEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessViewer.java b/muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessViewer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/processview/ProcessViewer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/processview/ProcessViewer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/search/SearchPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/search/SearchPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/search/SearchPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/search/SearchPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/search/SearchResult.java b/muon-app1/src/main/java/muon/app/ui/components/session/search/SearchResult.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/search/SearchResult.java rename to muon-app1/src/main/java/muon/app/ui/components/session/search/SearchResult.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/search/SearchTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/search/SearchTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/search/SearchTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/search/SearchTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/search/SearchTableRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/search/SearchTableRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/search/SearchTableRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/search/SearchTableRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/CustomJediterm.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/CustomJediterm.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/CustomJediterm.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/CustomJediterm.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/CustomizedSettingsProvider.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/CustomizedSettingsProvider.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/CustomizedSettingsProvider.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/CustomizedSettingsProvider.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/TerminalComponent.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/TerminalComponent.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/TerminalComponent.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/TerminalComponent.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/TerminalHolder.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/TerminalHolder.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/TerminalHolder.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/TerminalHolder.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetItem.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetItem.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetItem.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetItem.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetListRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetListRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetListRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetListRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/snippets/SnippetPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/ssh/DisposableTtyConnector.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/ssh/DisposableTtyConnector.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/ssh/DisposableTtyConnector.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/ssh/DisposableTtyConnector.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/terminal/ssh/SshTtyConnector.java b/muon-app1/src/main/java/muon/app/ui/components/session/terminal/ssh/SshTtyConnector.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/terminal/ssh/SshTtyConnector.java rename to muon-app1/src/main/java/muon/app/ui/components/session/terminal/ssh/SshTtyConnector.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilPageItemView.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilPageItemView.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilPageItemView.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilPageItemView.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilityPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilityPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilityPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilityPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilityPageButton.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilityPageButton.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/UtilityPageButton.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/UtilityPageButton.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/KeyPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/KeyPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/KeyPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/KeyPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/LocalKeyPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/LocalKeyPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/LocalKeyPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/LocalKeyPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/RemoteKeyPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/RemoteKeyPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/RemoteKeyPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/RemoteKeyPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyHolder.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyHolder.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyHolder.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyHolder.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyManager.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyManager.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyManager.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/keys/SshKeyManager.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/nettools/NetworkToolsPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/nettools/NetworkToolsPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/nettools/NetworkToolsPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/nettools/NetworkToolsPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/PortViewer.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/PortViewer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/PortViewer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/PortViewer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/portview/SocketTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceEntry.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServicePanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServicePanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServicePanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServicePanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableCellRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableCellRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableCellRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableCellRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/services/ServiceTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysinfo/SysInfoPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysinfo/SysInfoPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysinfo/SysInfoPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysinfo/SysInfoPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/LineGraph.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/LineGraph.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/LineGraph.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/LineGraph.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/LinuxMetrics.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/LinuxMetrics.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/LinuxMetrics.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/LinuxMetrics.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/SysLoadPage.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/SysLoadPage.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/SysLoadPage.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/SysLoadPage.java diff --git a/muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/SystemLoadPanel.java b/muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/SystemLoadPanel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/session/utilpage/sysload/SystemLoadPanel.java rename to muon-app1/src/main/java/muon/app/ui/components/session/utilpage/sysload/SystemLoadPanel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/ColorSelectorButton.java b/muon-app1/src/main/java/muon/app/ui/components/settings/ColorSelectorButton.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/ColorSelectorButton.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/ColorSelectorButton.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/CustomTerminalTheme.java b/muon-app1/src/main/java/muon/app/ui/components/settings/CustomTerminalTheme.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/CustomTerminalTheme.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/CustomTerminalTheme.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/DarkTerminalTheme.java b/muon-app1/src/main/java/muon/app/ui/components/settings/DarkTerminalTheme.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/DarkTerminalTheme.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/DarkTerminalTheme.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/EditorEntry.java b/muon-app1/src/main/java/muon/app/ui/components/settings/EditorEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/EditorEntry.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/EditorEntry.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/EditorTableModel.java b/muon-app1/src/main/java/muon/app/ui/components/settings/EditorTableModel.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/EditorTableModel.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/EditorTableModel.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/FontItemRenderer.java b/muon-app1/src/main/java/muon/app/ui/components/settings/FontItemRenderer.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/FontItemRenderer.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/FontItemRenderer.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/SettingsDialog.java b/muon-app1/src/main/java/muon/app/ui/components/settings/SettingsDialog.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/SettingsDialog.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/SettingsDialog.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/SettingsPageName.java b/muon-app1/src/main/java/muon/app/ui/components/settings/SettingsPageName.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/SettingsPageName.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/SettingsPageName.java diff --git a/muon-app/src/main/java/muon/app/ui/components/settings/TerminalTheme.java b/muon-app1/src/main/java/muon/app/ui/components/settings/TerminalTheme.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/components/settings/TerminalTheme.java rename to muon-app1/src/main/java/muon/app/ui/components/settings/TerminalTheme.java diff --git a/muon-app/src/main/java/muon/app/ui/laf/AppSkin.java b/muon-app1/src/main/java/muon/app/ui/laf/AppSkin.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/laf/AppSkin.java rename to muon-app1/src/main/java/muon/app/ui/laf/AppSkin.java diff --git a/muon-app/src/main/java/muon/app/ui/laf/AppSkinDark.java b/muon-app1/src/main/java/muon/app/ui/laf/AppSkinDark.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/laf/AppSkinDark.java rename to muon-app1/src/main/java/muon/app/ui/laf/AppSkinDark.java diff --git a/muon-app/src/main/java/muon/app/ui/laf/AppSkinLight.java b/muon-app1/src/main/java/muon/app/ui/laf/AppSkinLight.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/laf/AppSkinLight.java rename to muon-app1/src/main/java/muon/app/ui/laf/AppSkinLight.java diff --git a/muon-app/src/main/java/muon/app/ui/laf/CustomScrollBarUI.java b/muon-app1/src/main/java/muon/app/ui/laf/CustomScrollBarUI.java similarity index 100% rename from muon-app/src/main/java/muon/app/ui/laf/CustomScrollBarUI.java rename to muon-app1/src/main/java/muon/app/ui/laf/CustomScrollBarUI.java diff --git a/muon-app/src/main/java/muon/app/updater/CertificateValidator.java b/muon-app1/src/main/java/muon/app/updater/CertificateValidator.java similarity index 100% rename from muon-app/src/main/java/muon/app/updater/CertificateValidator.java rename to muon-app1/src/main/java/muon/app/updater/CertificateValidator.java diff --git a/muon-app/src/main/java/muon/app/updater/UpdateChecker.java b/muon-app1/src/main/java/muon/app/updater/UpdateChecker.java similarity index 100% rename from muon-app/src/main/java/muon/app/updater/UpdateChecker.java rename to muon-app1/src/main/java/muon/app/updater/UpdateChecker.java diff --git a/muon-app/src/main/java/muon/app/updater/VersionEntry.java b/muon-app1/src/main/java/muon/app/updater/VersionEntry.java similarity index 100% rename from muon-app/src/main/java/muon/app/updater/VersionEntry.java rename to muon-app1/src/main/java/muon/app/updater/VersionEntry.java diff --git a/muon-app/src/main/java/util/CollectionHelper.java b/muon-app1/src/main/java/util/CollectionHelper.java similarity index 100% rename from muon-app/src/main/java/util/CollectionHelper.java rename to muon-app1/src/main/java/util/CollectionHelper.java diff --git a/muon-app/src/main/java/util/FontAwesomeContants.java b/muon-app1/src/main/java/util/FontAwesomeContants.java similarity index 100% rename from muon-app/src/main/java/util/FontAwesomeContants.java rename to muon-app1/src/main/java/util/FontAwesomeContants.java diff --git a/muon-app/src/main/java/util/FontUtils.java b/muon-app1/src/main/java/util/FontUtils.java similarity index 100% rename from muon-app/src/main/java/util/FontUtils.java rename to muon-app1/src/main/java/util/FontUtils.java diff --git a/muon-app/src/main/java/util/FormatUtils.java b/muon-app1/src/main/java/util/FormatUtils.java similarity index 100% rename from muon-app/src/main/java/util/FormatUtils.java rename to muon-app1/src/main/java/util/FormatUtils.java diff --git a/muon-app/src/main/java/util/LayoutUtilities.java b/muon-app1/src/main/java/util/LayoutUtilities.java similarity index 100% rename from muon-app/src/main/java/util/LayoutUtilities.java rename to muon-app1/src/main/java/util/LayoutUtilities.java diff --git a/muon-app/src/main/java/util/OptionPaneUtils.java b/muon-app1/src/main/java/util/OptionPaneUtils.java similarity index 100% rename from muon-app/src/main/java/util/OptionPaneUtils.java rename to muon-app1/src/main/java/util/OptionPaneUtils.java diff --git a/muon-app/src/main/java/util/PathUtils.java b/muon-app1/src/main/java/util/PathUtils.java similarity index 100% rename from muon-app/src/main/java/util/PathUtils.java rename to muon-app1/src/main/java/util/PathUtils.java diff --git a/muon-app/src/main/java/util/PlatformUtils.java b/muon-app1/src/main/java/util/PlatformUtils.java similarity index 100% rename from muon-app/src/main/java/util/PlatformUtils.java rename to muon-app1/src/main/java/util/PlatformUtils.java diff --git a/muon-app/src/main/java/util/RegUtil.java b/muon-app1/src/main/java/util/RegUtil.java similarity index 100% rename from muon-app/src/main/java/util/RegUtil.java rename to muon-app1/src/main/java/util/RegUtil.java diff --git a/muon-app/src/main/java/util/ScriptLoader.java b/muon-app1/src/main/java/util/ScriptLoader.java similarity index 100% rename from muon-app/src/main/java/util/ScriptLoader.java rename to muon-app1/src/main/java/util/ScriptLoader.java diff --git a/muon-app/src/main/java/util/SudoUtils.java b/muon-app1/src/main/java/util/SudoUtils.java similarity index 100% rename from muon-app/src/main/java/util/SudoUtils.java rename to muon-app1/src/main/java/util/SudoUtils.java diff --git a/muon-app/src/main/java/util/TimeUtils.java b/muon-app1/src/main/java/util/TimeUtils.java similarity index 100% rename from muon-app/src/main/java/util/TimeUtils.java rename to muon-app1/src/main/java/util/TimeUtils.java diff --git a/muon-app/src/main/resources/fonts/DejaVuSans.ttf b/muon-app1/src/main/resources/fonts/DejaVuSans.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/DejaVuSans.ttf rename to muon-app1/src/main/resources/fonts/DejaVuSans.ttf diff --git a/muon-app/src/main/resources/fonts/Helvetica.ttf b/muon-app1/src/main/resources/fonts/Helvetica.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/Helvetica.ttf rename to muon-app1/src/main/resources/fonts/Helvetica.ttf diff --git a/muon-app/src/main/resources/fonts/Verdana.ttf b/muon-app1/src/main/resources/fonts/Verdana.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/Verdana.ttf rename to muon-app1/src/main/resources/fonts/Verdana.ttf diff --git a/muon-app/src/main/resources/fonts/fontawesome-webfont.ttf b/muon-app1/src/main/resources/fonts/fontawesome-webfont.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/fontawesome-webfont.ttf rename to muon-app1/src/main/resources/fonts/fontawesome-webfont.ttf diff --git a/muon-app/src/main/resources/fonts/terminal/DejaVuSansMono.ttf b/muon-app1/src/main/resources/fonts/terminal/DejaVuSansMono.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/terminal/DejaVuSansMono.ttf rename to muon-app1/src/main/resources/fonts/terminal/DejaVuSansMono.ttf diff --git a/muon-app/src/main/resources/fonts/terminal/FiraCode-Regular.ttf b/muon-app1/src/main/resources/fonts/terminal/FiraCode-Regular.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/terminal/FiraCode-Regular.ttf rename to muon-app1/src/main/resources/fonts/terminal/FiraCode-Regular.ttf diff --git a/muon-app/src/main/resources/fonts/terminal/Inconsolata-Regular.ttf b/muon-app1/src/main/resources/fonts/terminal/Inconsolata-Regular.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/terminal/Inconsolata-Regular.ttf rename to muon-app1/src/main/resources/fonts/terminal/Inconsolata-Regular.ttf diff --git a/muon-app/src/main/resources/fonts/terminal/NotoMono-Regular.ttf b/muon-app1/src/main/resources/fonts/terminal/NotoMono-Regular.ttf similarity index 100% rename from muon-app/src/main/resources/fonts/terminal/NotoMono-Regular.ttf rename to muon-app1/src/main/resources/fonts/terminal/NotoMono-Regular.ttf diff --git a/muon-app/src/main/resources/muon.png b/muon-app1/src/main/resources/muon.png similarity index 100% rename from muon-app/src/main/resources/muon.png rename to muon-app1/src/main/resources/muon.png diff --git a/muon-app/src/main/resources/scripts/linux-sysinfo.sh b/muon-app1/src/main/resources/scripts/linux-sysinfo.sh similarity index 100% rename from muon-app/src/main/resources/scripts/linux-sysinfo.sh rename to muon-app1/src/main/resources/scripts/linux-sysinfo.sh diff --git a/muon-app/src/main/resources/scripts/ps.sh b/muon-app1/src/main/resources/scripts/ps.sh similarity index 100% rename from muon-app/src/main/resources/scripts/ps.sh rename to muon-app1/src/main/resources/scripts/ps.sh diff --git a/muon-app/src/main/resources/scripts/search.sh b/muon-app1/src/main/resources/scripts/search.sh similarity index 100% rename from muon-app/src/main/resources/scripts/search.sh rename to muon-app1/src/main/resources/scripts/search.sh diff --git a/muon-app/src/test/java/muon/app/AppTest.java b/muon-app1/src/test/java/muon/app/AppTest.java similarity index 100% rename from muon-app/src/test/java/muon/app/AppTest.java rename to muon-app1/src/test/java/muon/app/AppTest.java diff --git a/muon-main/src/main/java/muon/App.java b/muon-main/src/main/java/muon/App.java deleted file mode 100644 index 6bbe9fbf..00000000 --- a/muon-main/src/main/java/muon/App.java +++ /dev/null @@ -1,13 +0,0 @@ -package muon; - -/** - * Hello world! - * - */ -public class App -{ - public static void main( String[] args ) - { - System.out.println( "Hello World!" ); - } -} diff --git a/pom.xml b/pom.xml index 1f7e5f65..71821d9d 100644 --- a/pom.xml +++ b/pom.xml @@ -1,13 +1,14 @@ - - 4.0.0 - muon - muon - 0.0.1-SNAPSHOT - pom - - muon-app - muon-jediterm - muon-main - + + 4.0.0 + muon + muon + 0.0.1-SNAPSHOT + pom + + app + muon-app1 + muon-jediterm + \ No newline at end of file