Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2013
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.98 KB | None | 0 0
  1. #
  2. # bar script
  3. #
  4.  
  5. #!/bin/bash
  6.  
  7.  
  8. ## variables
  9. # status
  10. rss_file=line
  11.  
  12. # tags
  13. tag_name1=firefox
  14. tag_name2=foxit
  15.  
  16.  
  17. ## functions
  18. # sort through i3 workspaces command
  19. workspace_sort()
  20. {
  21. printf $(i3-msg -t get_workspaces) | sed 's/,{//g;s/"num":null,//g;;s/,/\t/g;s/"urgent":false}//g;s/[[{]//g;s/[]]//g;s/}//g;s/"//g;s/:/: /g;s/output: [^name]*/\n/g'
  22. }
  23.  
  24. # assign a workspace to tag
  25. assign_workspace()
  26. {
  27. tag=$1
  28. boolean_check=false
  29.  
  30. for (( i=0 ; i <= 15 ; i++ ))
  31. do
  32.     workspaces[i]="${workspace_raw[i]}"
  33.  
  34.     if [ "${workspaces[i]}" == "$tag" ]
  35.     then
  36.         boolean_check=true
  37.     else
  38.         false
  39.     fi
  40. done
  41.  
  42. if $boolean_check
  43. then
  44.     declare workspace_$tag="\u3test$tag\u0"
  45. else
  46.     declare workspace_$tag="\u0test$tag\u0"
  47. fi
  48. }
  49.  
  50.  
  51.  
  52. # main loop
  53. while :
  54. do
  55.     ## get workspaces
  56.     n=$(echo -n ; workspace_sort | wc -l)
  57.    
  58.     ## define unfiltered workspaces
  59.     for (( i = 0; i <= n; i++ ))
  60.     do 
  61.         workspace_raw[i]=$(echo -n ; workspace_sort | head -$i | tail -1 | awk 'NR==1 {print $2;}')
  62.     done
  63.    
  64.     ## unset unused workspaces
  65.     for x in {$n..15}
  66.     do
  67.         unset workspace_raw[i]
  68.     done
  69.  
  70. ## assign workspace to tag without a function  
  71. #    boolean_check=false
  72. #    
  73. #    for (( i=0 ; i <= 15 ; i++ ))
  74. #    do
  75. #       workspaces[i]="${workspace_raw[i]}"
  76. #       if [ "${workspaces[i]}" == "firefox" ]
  77. #       then
  78. #           boolean_check=true
  79. #       else
  80. #           false
  81. #       fi
  82. #    done
  83. #    if $boolean_check
  84. #    then
  85. #       workspace_firefox="\u3firefox\u0"
  86. #    else
  87. #       workspace_firefox="\u0firefox\u0"
  88. #    fi
  89.    
  90.     # assign workspaces to tag names
  91.     assign_workspace $tag_name1
  92.     assign_workspace $tag_name2
  93.  
  94.     ## formatted variables for echo string
  95.     rss="$(paste $rss_file)\u0"
  96.     ws1="$(echo "${workspace_raw[1]} ")"
  97.     ws2="$(echo "${workspace_raw[2]} ")"
  98.     ws3="$(echo "${workspace_raw[3]} ")"
  99.     ws4="$(echo "${workspace_raw[4]} ")"
  100.     ws5="$(echo "${workspace_raw[5]} ")"
  101.  
  102.     ## output
  103.     echo "\l $ws1$ws2$ws3$ws4$ws5| $workspace_firefox $workspace_foxit \ccool$rss heheh\rtesting"
  104.     sleep 0.1
  105. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement