1 package org
.argeo
.slc
.tool
.swt
;
5 import org
.apache
.commons
.cli
.CommandLine
;
6 import org
.apache
.commons
.cli
.Option
;
7 import org
.apache
.commons
.cli
.Options
;
8 import org
.argeo
.api
.cli
.CommandsCli
;
9 import org
.argeo
.api
.cli
.DescribedCommand
;
10 import org
.argeo
.minidesktop
.MiniDesktopManager
;
12 public class MiniDesktopCli
extends CommandsCli
{
14 public MiniDesktopCli(String commandName
) {
16 addCommand("launch", new Launch());
20 public String
getDescription() {
21 return "A minimalistic desktop manager based on Java and Eclipse SWT.";
24 public static void main(String
[] args
) {
25 mainImpl(new MiniDesktopCli("minidesktop"), args
);
28 static class Launch
implements DescribedCommand
<String
> {
30 public Options
getOptions() {
31 Options options
= new Options();
32 options
.addOption(Option
.builder().longOpt("fullscreen")
33 .desc("take control of the whole screen (default is to run in a window)").build());
34 options
.addOption(Option
.builder().longOpt("stacking")
35 .desc("open apps as tabs (default is to create new windows)").build());
40 public String
apply(List
<String
> args
) {
41 CommandLine cl
= toCommandLine(args
);
42 boolean fullscreen
= cl
.hasOption("fullscreen");
43 boolean stacking
= cl
.hasOption("stacking");
45 MiniDesktopManager desktopManager
= new MiniDesktopManager(fullscreen
, stacking
);
46 desktopManager
.init();
48 desktopManager
.dispose();
53 public String
getDescription() {
54 return "Launch a minidesktop manager.";