bloques-de-tiempo.el 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. ;; MODO DE EMPLEO `dzen2-mensaje-string'
  2. ;; (shell-command
  3. ;; (dzen2-mensaje-string "3s" "recarga"))
  4. (defun dzen2-mensaje-string (msg_tiempo msg)
  5. (interactive)
  6. (setq
  7. alerta-finish-string
  8. (format
  9. "( %s && %s && %s ) & ( sleep 1s && %s )"
  10. "command -v pacman &> /dev/null"
  11. "pacman -Ss sndio | grep -q ins"
  12. "doas service sndiod restart &> /dev/null"
  13. (format
  14. "mpv --loop=inf %s &> /dev/null"
  15. "~/.emacs.d/p/ln/sound.computersound.opus")))
  16. (setq dzen2-limpiar-string
  17. (format
  18. "%s &> /dev/null && ( %s )"
  19. "pgrep dzen2"
  20. "pgrep dzen2 | xargs kill"))
  21. (setq
  22. width_screen
  23. (substring
  24. (shell-command-to-string
  25. (format
  26. "echo -n $(xrandr | %s | %s)"
  27. "awk '/ connected/ { print $4}'"
  28. "cut -d'x' -f 1"))))
  29. (setq
  30. height_screen
  31. (substring
  32. (shell-command-to-string
  33. (format
  34. "echo -n $(xrandr | %s | %s | %s)"
  35. "awk '/ connected/ { print $4}'"
  36. "cut -d'x' -f 2"
  37. "cut -d'+' -f 1"))))
  38. (setq
  39. start_dzen
  40. (format
  41. "( echo '%s %s' | dzen2 -p -w %s -h %s %s )"
  42. msg_tiempo
  43. msg
  44. width_screen
  45. height_screen
  46. "-fg 'yellow' -bg 'black' -fn 'Hack-35'"))
  47. (setq
  48. end_dzen
  49. (format
  50. "( echo 'fin %s %s' | dzen2 -p -w %s -h %s %s || %s )"
  51. msg
  52. msg_tiempo
  53. width_screen
  54. height_screen
  55. "-fg 'yellow' -bg 'black' -fn 'Hack-35'"
  56. "killall mpv"))
  57. (princ
  58. (format
  59. "( %s ) && ( %s ) && %s || %s "
  60. (format
  61. "( %s & ( sleep %s && %s )"
  62. start_dzen
  63. msg_tiempo
  64. dzen2-limpiar-string)
  65. (format
  66. "( %s & ( sleep %s && %s ) ) )"
  67. end_dzen
  68. msg_tiempo
  69. alerta-finish-string)
  70. "killall mpv"
  71. "killall mpv")))
  72. (defun recargarse
  73. (tiempo)
  74. (interactive
  75. "s¿Por cuanto tiempo se recargará?:")
  76. (async-shell-command (dzen2-mensaje-string tiempo "recarga")))
  77. (defun bloque-de-tiempo
  78. (tiempo_de_bloque tiempo_de_recarga)
  79. (interactive
  80. "s¿Cuanto dura su bloque?: \n\
  81. s¿Cuanto dura su recarga?: ")
  82. (async-shell-command
  83. (format
  84. "sleep %s && %s"
  85. tiempo_de_bloque
  86. (dzen2-mensaje-string tiempo_de_recarga "recarga"))))