aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/TreeSelect.hs
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.com>2024-03-23 12:48:35 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.com>2024-03-23 12:48:35 +0530
commit499bb6a2d9f08c3fad40297a13d63c35c42ec260 (patch)
tree55dd5d5f6f1fd66a099ac6535bfbd37de0b72256 /.config/XMonad/lib/TreeSelect.hs
parent71803f75116a63aed35ff3175fe86bb254e38d97 (diff)
added a TreeSelect Menu
Diffstat (limited to '.config/XMonad/lib/TreeSelect.hs')
-rw-r--r--.config/XMonad/lib/TreeSelect.hs93
1 files changed, 93 insertions, 0 deletions
diff --git a/.config/XMonad/lib/TreeSelect.hs b/.config/XMonad/lib/TreeSelect.hs
new file mode 100644
index 0000000..803789f
--- /dev/null
+++ b/.config/XMonad/lib/TreeSelect.hs
@@ -0,0 +1,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
+ ]