aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/TreeSelect.hs
blob: 803789fd7e14899ad61da13570bce0e4a217b715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
module TreeSelect where

import Data.Tree

import XMonad
import qualified XMonad.StackSet as W

import XMonad.Actions.TreeSelect

import Defaults

showTS x = treeselectAction myTSConfig x

myBrowserTS :: Forest (TSNode (X ()))
myBrowserTS = [ 
    Node (TSNode "LibreWolf"           "The default" (spawn myBrowser)) []
  , Node (TSNode "LibreWolf (private)" ""            (spawn myPrivateBrowser)) []
  , Node (TSNode "Vivaldi"             ""            (spawn myBrowser')) []
  , Node (TSNode "TOR"                 ""            (spawn "torbrowser-launcher")) []
  , Node (TSNode "Firefox"             ""            (spawn "firefox")) []
  , Node (TSNode "Brave"               ""            (spawn "brave")) []
  ]

myEditingTS :: Forest (TSNode (X ()))
myEditingTS = [ 
    Node (TSNode "GIMP"                "Hackerman's photoshop" (spawn "gimp")) []
  , Node (TSNode "Kdenlive"            "Main video editor"     (spawn "kdenlive")) []
  , Node (TSNode "Audacity"            ""                      (spawn "audacity")) []
  , Node (TSNode "OBS"                 ""                      (spawn "obs-studio")) []
  , Node (TSNode "Canva"               "Zoomer's photoshop"    (spawn $ myBrowser ++ " https://canva.com")) []
  ]

myDevTS :: Forest (TSNode (X ()))
myDevTS = [ 
    Node (TSNode "Doom Emacs"          ""           (spawn myTextEditor)) []
  , Node (TSNode "VSC"                 "VSCodium"   (spawn myTextEditor')) []
  , Node (TSNode "Postman"             ""           (spawn "postman")) []
  , Node (TSNode "Virt Manager"        ""           (spawn "virt-manager")) []
  , Node (TSNode "IntelliJ IDEA"       "Java IDE"   (spawn "idea")) []
  , Node (TSNode "Android Studio"      ""           (spawn "android-studio")) []
  , Node (TSNode "PyCharm"             "Python IDE" (spawn "pycharm")) []
  ]

myUtilTS :: Forest (TSNode (X ()))
myUtilTS = [ 
    Node (TSNode "File Manager"        ""            (spawn myFileManager)) []
  , Node (TSNode "Volume Control"      "pavucontrol" (spawn "pavucontrol")) []
  , Node (TSNode "Cloud"               "Nextcloud"   (spawn $ myBrowser ++ " " ++ myCloud)) []
  , Node (TSNode "Calculator"          ""            (spawn myCalculator)) []
  , Node (TSNode "Screenshot"          ""            (spawn fullScreenshot)) []
  , Node (TSNode "Torrent"             ""            (spawn myTorrentClient)) []
  , Node (TSNode "Email Client"        ""            (spawn myEmailClient)) []
  , Node (TSNode "Screen Recorder"     "OBS"         (spawn "obs-studio")) []
  , Node (TSNode "Wallpapers"          ""            (spawn myWallpaperMenu)) []
  , Node (TSNode "Google Docs"         ""            (spawn $ myBrowser ++ " https://docs.google.com")) []
  , Node (TSNode "Google Sheets"       ""            (spawn $ myBrowser ++ " https://sheets.google.com")) []
  , Node (TSNode "Google Slides"       ""            (spawn $ myBrowser ++ " https://slides.google.com")) []
  , Node (TSNode "Google Forms"        ""            (spawn $ myBrowser ++ " https://forms.google.com")) []
  ]

myLinksTS :: Forest (TSNode (X ()))
myLinksTS = [ 
    Node (TSNode "Linode Dashboard"       ""                  (spawn $ myBrowser ++ " " ++ vpsDashboard)) []
  , Node (TSNode "Linode Dashboard (DNS)" ""                  (spawn $ myBrowser ++ " " ++ dnsDashboard)) []
  , Node (TSNode "Git Server"             "MikunoNaka.net"    (spawn $ myBrowser ++ " " ++ myGitServer)) []
  , Node (TSNode "GitHub"                 "My GitHub Profile" (spawn $ myBrowser ++ " " ++ myGitHubProfile)) []
  , Node (TSNode "MyAnimeList"            "My MAL Profile"    (spawn $ myBrowser ++ " " ++ myMALProfile)) []
  , Node (TSNode "My Website"             "VidhuKant.com"     (spawn $ myBrowser ++ " " ++ myWebsite)) []
  , Node (TSNode "Cloud Storage"          "Nextcloud"         (spawn $ myBrowser ++ " " ++ myCloud)) []
  , Node (TSNode "YouTube Channel"        ""                  (spawn $ myBrowser ++ " " ++ myYTChannel)) []
  , Node (TSNode "WhatsApp Web"           ""                  (spawn $ myBrowser ++ " https://web.whatsapp.com")) []
  , Node (TSNode "Google Docs"            ""                  (spawn $ myBrowser ++ " https://docs.google.com")) []
  , Node (TSNode "Google Sheets"          ""                  (spawn $ myBrowser ++ " https://sheets.google.com")) []
  , Node (TSNode "Google Slides"          ""                  (spawn $ myBrowser ++ " https://slides.google.com")) []
  , Node (TSNode "Google Forms"           ""                  (spawn $ myBrowser ++ " https://forms.google.com")) []
  ]

myPowerTS :: Forest (TSNode (X ()))
myPowerTS = [ 
    Node (TSNode "Shut Down"           "" (spawn "shutdown now")) []
  , Node (TSNode "Reboot"              "" (spawn "reboot")) []
  ]

myMainTS :: Forest (TSNode (X ()))
myMainTS = [ 
    Node (TSNode "Web Browser" "Open for more options"  (spawn myBrowser)) myBrowserTS
  , Node (TSNode "Discord"     "Zoomer's Spyware"       (spawn myDiscord)) []
  , Node (TSNode "Editing"     "Makin' memes"           (return()))        myEditingTS
  , Node (TSNode "Development" "Hackering tools"        (return()))        myDevTS
  , Node (TSNode "Utilities"   "Misc n settings"        (return()))        myUtilTS
  , Node (TSNode "Links"       "Commonly visited sites" (return()))        myLinksTS
  , Node (TSNode "Power"       ""                       (return()))        myPowerTS
  ]