Revert "[StumpWM, bin] Add weather module to StumpWM..."
This reverts commit d78be927862d72659748cd2f5725eed2059a4b90.
This commit is contained in:
		
							parent
							
								
									ee7e82ea03
								
							
						
					
					
						commit
						1c911b9821
					
				@ -2044,77 +2044,18 @@ CACHEFILE=$([ -n "$XDG_CACHE_HOME" ] && echo "$XDG_CACHE_HOME/wallpaper" || echo
 | 
			
		||||
 | 
			
		||||
* Weather
 | 
			
		||||
:PROPERTIES:
 | 
			
		||||
:HEADER-ARGS: :shebang "#!/usr/bin/env fish" :mkdirp yes :tangle ~/.local/bin/we
 | 
			
		||||
:CUSTOM_ID: Weather-4ed00bb0
 | 
			
		||||
:END:
 | 
			
		||||
** StumpWM utilities
 | 
			
		||||
:PROPERTIES:
 | 
			
		||||
:CUSTOM_ID: Weather-StumpWM-utilities-okvit9r05gj0
 | 
			
		||||
:END:
 | 
			
		||||
*** ~stump-choose-city~
 | 
			
		||||
:PROPERTIES:
 | 
			
		||||
:CUSTOM_ID: Weather-StumpWM-utilities-stump-choose-city-adyit9r05gj0
 | 
			
		||||
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :mkdirp yes :tangle ~/.local/bin/stump-choose-city
 | 
			
		||||
:END:
 | 
			
		||||
This script does two things. First, I get to choose a location which
 | 
			
		||||
weather will be displayed in StumpWM’s mode-line. The script stores
 | 
			
		||||
the selected location in the file ~$HOME/.cache/weather-city~, but only
 | 
			
		||||
if the input is not an empty string, otherwise nothing will change.
 | 
			
		||||
Secondly, if this change is applied, ~stump-weather~ (described below)
 | 
			
		||||
is called in order to update what StumpWM displays.
 | 
			
		||||
#+begin_src sh
 | 
			
		||||
CITY=$(rofi -p "City:" -dmenu | sed -r 's/ +/\+/g')
 | 
			
		||||
if [ -n "$CITY" ]; then
 | 
			
		||||
    printf "%s" "$CITY" > "$HOME"/.cache/weather-city
 | 
			
		||||
    stump-weather > /dev/null 2>&1
 | 
			
		||||
fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
*** ~stump-weather~
 | 
			
		||||
:PROPERTIES:
 | 
			
		||||
:CUSTOM_ID: Weather-StumpWM-utilities-stump-weather-i21jt9r05gj0
 | 
			
		||||
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :mkdirp yes :tangle ~/.local/bin/stump-weather
 | 
			
		||||
:END:
 | 
			
		||||
This stript is quite simple: it displays some weather information in
 | 
			
		||||
the format /Location: weather temperature (felt temperature)/. We use
 | 
			
		||||
the content of the file ~$HOME/.cache/weather-city~ to know which
 | 
			
		||||
location to use in our request to ~wttr.in~. If ~wttr.in~ is unreachable
 | 
			
		||||
after two second, the request aborts and the script displays an error
 | 
			
		||||
message instead.
 | 
			
		||||
#+begin_src sh
 | 
			
		||||
CITY=$(cat "$HOME/.cache/weather-city")
 | 
			
		||||
WEATHER=$(curl wttr.in/~"${CITY}"?format="${CITY}:+%C+%t+(%f)" --connect-timeout 1 2> /dev/null)
 | 
			
		||||
if [ -n "$WEATHER" ]; then
 | 
			
		||||
    printf "%s" "$WEATHER"
 | 
			
		||||
A quick and useful script I often use is a ~curl~ request to [[http://v2.wttr.in/][v2.wttr.in]] to get a
 | 
			
		||||
weather forecast in the terminal. By default, I want the request to be about the
 | 
			
		||||
city I live in, but it is also possible for the script to accept as its
 | 
			
		||||
arguments a search inquiry.
 | 
			
		||||
#+BEGIN_SRC fish
 | 
			
		||||
if count $argv > /dev/null
 | 
			
		||||
    set -l SEARCH (string join '+' $argv)
 | 
			
		||||
    curl http://v2.wttr.in/~$SEARCH
 | 
			
		||||
else
 | 
			
		||||
    printf "wttr.in unreachable"
 | 
			
		||||
fi
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
** ~we~
 | 
			
		||||
:PROPERTIES:
 | 
			
		||||
:CUSTOM_ID: Weather-we-514jt9r05gj0
 | 
			
		||||
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :mkdirp yes :tangle ~/.local/bin/we
 | 
			
		||||
:END:
 | 
			
		||||
A quick and useful script I often use is a ~curl~ request to [[http://v2.wttr.in/][v2.wttr.in]]
 | 
			
		||||
to get a weather forecast in the terminal. If the user passes no
 | 
			
		||||
arguments to ~we~, the script will use the location designated in
 | 
			
		||||
~$HOME/.cache/weather-city~. Otherwise, it will use the options passed
 | 
			
		||||
by the user.
 | 
			
		||||
#+BEGIN_SRC sh
 | 
			
		||||
COUNT=0
 | 
			
		||||
LOCATION=""
 | 
			
		||||
if [ "$#" = 0 ]; then
 | 
			
		||||
    LOCATION=$(cat "$HOME"/.cache/weather-city)
 | 
			
		||||
fi
 | 
			
		||||
if [ -z "$LOCATION" ]; then
 | 
			
		||||
    for ARG in $*; do
 | 
			
		||||
        if [ "${COUNT}" = 0 ]; then
 | 
			
		||||
            LOCATION="${ARG}"
 | 
			
		||||
        else
 | 
			
		||||
            LOCATION="${LOCATION}+${ARG}"
 | 
			
		||||
        fi
 | 
			
		||||
        COUNT=$((COUNT + 1))
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
curl https://v2.wttr.in/~"${LOCATION}"
 | 
			
		||||
    curl http://v2.wttr.in/Aubervilliers
 | 
			
		||||
end
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
@ -493,20 +493,19 @@ We can indicate what to display in our modeline. Each formatter will
 | 
			
		||||
be separated by a Powerline separator with the code point ~0xE0B0~ in
 | 
			
		||||
the font I am using (see §[[#Theme-Fonts-28pc8141v5j0]]).
 | 
			
		||||
#+name: modeline-format
 | 
			
		||||
| Formatter     | What it does                                          | Command? |
 | 
			
		||||
|---------------+-------------------------------------------------------+----------|
 | 
			
		||||
| ~%g~            | Display list of groups                                |          |
 | 
			
		||||
| ~%W~            | Display list of windows in the current group and head |          |
 | 
			
		||||
| ~^>~            | Rest of the modeline align to the right               |          |
 | 
			
		||||
| ~stump-weather~ | Display the current weather                           | yes      |
 | 
			
		||||
| ~mu-unread~     | Display number of unread emails                       | yes      |
 | 
			
		||||
| ~%m~            | Display current MPD song                              |          |
 | 
			
		||||
| ~%I~            | Display Wifi status                                   |          |
 | 
			
		||||
| ~%l~            | Display network usage                                 |          |
 | 
			
		||||
| ~%C~            | Display CPU usage                                     |          |
 | 
			
		||||
| ~%M~            | Display RAM usage                                     |          |
 | 
			
		||||
| ~%B~            | Display battery status                                |          |
 | 
			
		||||
| ~%d~            | Display date                                          |          |
 | 
			
		||||
| Formatter | What it does                                          | Command? |
 | 
			
		||||
|-----------+-------------------------------------------------------+----------|
 | 
			
		||||
| ~%g~        | Display list of groups                                |          |
 | 
			
		||||
| ~%W~        | Display list of windows in the current group and head |          |
 | 
			
		||||
| ~^>~        | Rest of the modeline align to the right               |          |
 | 
			
		||||
| ~mu-unread~ | Display number of unread emails                       | yes      |
 | 
			
		||||
| ~%m~        | Display current MPD song                              |          |
 | 
			
		||||
| ~%I~        | Display Wifi status                                   |          |
 | 
			
		||||
| ~%l~        | Display network usage                                 |          |
 | 
			
		||||
| ~%C~        | Display CPU usage                                     |          |
 | 
			
		||||
| ~%M~        | Display RAM usage                                     |          |
 | 
			
		||||
| ~%B~        | Display battery status                                |          |
 | 
			
		||||
| ~%d~        | Display date                                          |          |
 | 
			
		||||
 | 
			
		||||
#+name: modeline-format-gen
 | 
			
		||||
#+begin_src emacs-lisp :var elements=modeline-format :exports none
 | 
			
		||||
@ -519,8 +518,8 @@ the font I am using (see §[[#Theme-Fonts-28pc8141v5j0]]).
 | 
			
		||||
        elements)
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
#+RESULTS[4a774559ef9c88c74aa62a42c6f53fdc401815aa]: modeline-format-gen
 | 
			
		||||
: (("%g") ("%W") ("^>") ("stump-weather" . t) ("mu-unread" . t) ("%m") ("%I") ("%l") ("%C") ("%M") ("%B") ("%d"))
 | 
			
		||||
#+RESULTS[7f62146daae5aab6014d303b57c306fe44c4087b]: modeline-format-gen
 | 
			
		||||
: (("%g") ("%W") ("^>") ("mu-unread" . t) ("%m") ("%I") ("%l") ("%C") ("%M") ("%B") ("%d"))
 | 
			
		||||
 | 
			
		||||
#+begin_src lisp :noweb yes
 | 
			
		||||
(defvar *mode-line-formatter-list*
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user