wttr.in icon indicating copy to clipboard operation
wttr.in copied to clipboard

Some frame options

Open nick87720z opened this issue 3 years ago • 1 comments

There could be set of frame-specific options, specified in value string for outer variable like frameopt, to prevent collisions with other options (i.e.. &frameopt=<opt1>[<opt2>...]). Some of them could work in other formats besides default. Btw, besides single letter short-opt approach, it could be also comma-separated multi-letter options (if there's no problem passing them in http request).

  • 0, noframe - disable outer frame, should make sence in default and v2 formats. Could be honored in format=v2.

  • V, novframe - line above, but disable only vertical frame parts. Should make sence if some useful text is left below frame, to separate it visually (also may need to be at least one space if all frame is disabled).

  • L, linked - for default format it could make following look:

                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  Thu 02 Sep ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     17 °C          │  _ /"".-.     21 °C          │  _ /"".-.     19 °C          │  _ /"".-.     15 °C          │
│    \_(   ).   ↘ 6-7 km/h     │    \_(   ).   ↓ 9-10 km/h    │    \_(   ).   ↓ 10-17 km/h   │    \_(   ).   ← 3-7 km/h     │
│    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
│                              │                       ┌──────┴──────┐                       │                              │
├──────────────────────────────┼───────────────────────┤  Fri 03 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly cloudy  │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     18 °C          │      .-.      +23(25) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│    \_(   ).   ↑ 6 km/h       │   ― (   ) ―   ↗ 8-9 km/h     │    \_(   ).   ↘ 3-5 km/h     │    \_(   ).   ↓ 4-9 km/h     │
│    /(___(__)  10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
│                              │                       ┌──────┴──────┐                       │                              │
├──────────────────────────────┼───────────────────────┤  Sat 04 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Sunny          │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│      .-.      18 °C          │      .-.      +22(24) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│   ― (   ) ―   ↓ 7-8 km/h     │   ― (   ) ―   ↓ 8-9 km/h     │    \_(   ).   ↓ 13-18 km/h   │    \_(   ).   ← 12-21 km/h   │
│      `-’      10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
  • p, noperiod - disable line, separating time period header. Without &T option this could make them bold. (btw, there was question, with sed-based solution, how to achieve at least frame reduction part, without boldening)
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  Thu 02 Sep ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     17 °C          │  _ /"".-.     21 °C          │  _ /"".-.     19 °C          │  _ /"".-.     15 °C          │
│    \_(   ).   ↘ 6-7 km/h     │    \_(   ).   ↓ 9-10 km/h    │    \_(   ).   ↓ 10-17 km/h   │    \_(   ).   ← 3-7 km/h     │
│    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
│                              │                       ┌──────┴──────┐                       │                              │
├──────────────────────────────┼───────────────────────┤  Fri 03 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
│    \  /       Partly cloudy  │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     18 °C          │      .-.      +23(25) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│    \_(   ).   ↑ 6 km/h       │   ― (   ) ―   ↗ 8-9 km/h     │    \_(   ).   ↘ 3-5 km/h     │    \_(   ).   ↓ 4-9 km/h     │
│    /(___(__)  10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
│                              │                       ┌──────┴──────┐                       │                              │
├──────────────────────────────┼───────────────────────┤  Sat 04 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
│     \   /     Sunny          │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│      .-.      18 °C          │      .-.      +22(24) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│   ― (   ) ―   ↓ 7-8 km/h     │   ― (   ) ―   ↓ 8-9 km/h     │    \_(   ).   ↓ 13-18 km/h   │    \_(   ).   ← 12-21 km/h   │
│      `-’      10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
  • d, nodate - reduce date frame. In example below it doesn't mean removing all frame, as there's side part, closing day separator (could be removed bo other option, but that would not save any more space).
┌──────────────────────────────┬───────────────────────┤  Thu 02 Sep ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon                          Evening           │             Night            │
│    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     17 °C          │  _ /"".-.     21 °C          │  _ /"".-.     19 °C          │  _ /"".-.     15 °C          │
│    \_(   ).   ↘ 6-7 km/h     │    \_(   ).   ↓ 9-10 km/h    │    \_(   ).   ↓ 10-17 km/h   │    \_(   ).   ← 3-7 km/h     │
│    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
├──────────────────────────────┼───────────────────────┤  Fri 03 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon             │            Evening           │             Night            │
│    \  /       Partly cloudy  │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│  _ /"".-.     18 °C          │      .-.      +23(25) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│    \_(   ).   ↑ 6 km/h       │   ― (   ) ―   ↗ 8-9 km/h     │    \_(   ).   ↘ 3-5 km/h     │    \_(   ).   ↓ 4-9 km/h     │
│    /(___(__)  10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│               0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
├──────────────────────────────┼───────────────────────┤  Sat 04 Sep ├───────────────────────┼──────────────────────────────┤
│            Morning           │             Noon             │            Evening           │             Night            │
│     \   /     Sunny          │     \   /     Sunny          │    \  /       Partly cloudy  │    \  /       Partly cloudy  │
│      .-.      18 °C          │      .-.      +22(24) °C     │  _ /"".-.     21 °C          │  _ /"".-.     17 °C          │
│   ― (   ) ―   ↓ 7-8 km/h     │   ― (   ) ―   ↓ 8-9 km/h     │    \_(   ).   ↓ 13-18 km/h   │    \_(   ).   ← 12-21 km/h   │
│      `-’      10 km          │      `-’      10 km          │    /(___(__)  10 km          │    /(___(__)  10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
  • P, noperiodcol - disable line separator for frames. This, unlike other no-frame options, should just use space instead of vertical line, while width could be controlled by other option (either padding, at both sides of separator, or separator width, with latter providing better configurability due to possible even width).
┌──────────────────────────────────────────────────────┤  Thu 02 Sep ├──────────────────────────────────────────────────────┐
│            Morning                         Noon                          Evening                         Night            │
│    \  /       Partly cloudy       \  /       Partly cloudy       \  /       Partly cloudy       \  /       Partly cloudy  │
│  _ /"".-.     17 °C             _ /"".-.     21 °C             _ /"".-.     19 °C             _ /"".-.     15 °C          │
│    \_(   ).   ↘ 6-7 km/h          \_(   ).   ↓ 9-10 km/h         \_(   ).   ↓ 10-17 km/h        \_(   ).   ← 3-7 km/h     │
│    /(___(__)  10 km               /(___(__)  10 km               /(___(__)  10 km               /(___(__)  10 km          │
│               0.0 mm | 0%                    0.0 mm | 0%                    0.0 mm | 0%                    0.0 mm | 0%    │
├──────────────────────────────────────────────────────┤  Fri 03 Sep ├──────────────────────────────────────────────────────┤
│            Morning                         Noon                          Evening                         Night            │
│    \  /       Partly cloudy        \   /     Sunny               \  /       Partly cloudy       \  /       Partly cloudy  │
│  _ /"".-.     18 °C                 .-.      +23(25) °C        _ /"".-.     21 °C             _ /"".-.     17 °C          │
│    \_(   ).   ↑ 6 km/h           ― (   ) ―   ↗ 8-9 km/h          \_(   ).   ↘ 3-5 km/h          \_(   ).   ↓ 4-9 km/h     │
│    /(___(__)  10 km                 `-’      10 km               /(___(__)  10 km               /(___(__)  10 km          │
│               0.0 mm | 0%          /   \     0.0 mm | 0%                    0.0 mm | 0%                    0.0 mm | 0%    │
├──────────────────────────────────────────────────────┤  Sat 04 Sep ├──────────────────────────────────────────────────────┤
│            Morning                         Noon                          Evening                         Night            │
│     \   /     Sunny                \   /     Sunny               \  /       Partly cloudy       \  /       Partly cloudy  │
│      .-.      18 °C                 .-.      +22(24) °C        _ /"".-.     21 °C             _ /"".-.     17 °C          │
│   ― (   ) ―   ↓ 7-8 km/h         ― (   ) ―   ↓ 8-9 km/h          \_(   ).   ↓ 13-18 km/h        \_(   ).   ← 12-21 km/h   │
│      `-’      10 km                 `-’      10 km               /(___(__)  10 km               /(___(__)  10 km          │
│     /   \     0.0 mm | 0%          /   \     0.0 mm | 0%                    0.0 mm | 0%                    0.0 mm | 0%    │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  • &padding=int - set padding, used e.g. for columns in default format. Visually it seems to be 2 by default. This is what really would save space unlike &frameopt=P.
┌──────────────────────────┬───────────────────┤  Thu 02 Sep ├───────────────────┬────────────────────────────┐
│          Morning         │           Noon           │          Evening         │           Night            │
│  \  /       Partly cloudy│  \  /       Partly cloudy│  \  /       Partly cloudy│  \  /       Partly cloudy  │
│_ /"".-.     17 °C        │_ /"".-.     21 °C        │_ /"".-.     19 °C        │_ /"".-.     15 °C          │
│  \_(   ).   ↘ 6-7 km/h   │  \_(   ).   ↓ 9-10 km/h  │  \_(   ).   ↓ 10-17 km/h │  \_(   ).   ← 3-7 km/h     │
│  /(___(__)  10 km        │  /(___(__)  10 km        │  /(___(__)  10 km        │  /(___(__)  10 km          │
│             0.0 mm | 0%  │             0.0 mm | 0%  │             0.0 mm | 0%  │             0.0 mm | 0%    │
├──────────────────────────┼───────────────────┤  Fri 03 Sep ├───────────────────┼────────────────────────────┤
│          Morning         │           Noon           │          Evening         │           Night            │
│  \  /       Partly cloudy│   \   /     Sunny        │  \  /       Partly cloudy│  \  /       Partly cloudy  │
│_ /"".-.     18 °C        │    .-.      +23(25) °C   │_ /"".-.     21 °C        │_ /"".-.     17 °C          │
│  \_(   ).   ↑ 6 km/h     │ ― (   ) ―   ↗ 8-9 km/h   │  \_(   ).   ↘ 3-5 km/h   │  \_(   ).   ↓ 4-9 km/h     │
│  /(___(__)  10 km        │    `-’      10 km        │  /(___(__)  10 km        │  /(___(__)  10 km          │
│             0.0 mm | 0%  │   /   \     0.0 mm | 0%  │             0.0 mm | 0%  │             0.0 mm | 0%    │
├──────────────────────────┼───────────────────┤  Sat 04 Sep ├───────────────────┼────────────────────────────┤
│          Morning         │           Noon           │          Evening         │           Night            │
│   \   /     Sunny        │   \   /     Sunny        │  \  /       Partly cloudy│  \  /       Partly cloudy  │
│    .-.      18 °C        │    .-.      +22(24) °C   │_ /"".-.     21 °C        │_ /"".-.     17 °C          │
│ ― (   ) ―   ↓ 7-8 km/h   │ ― (   ) ―   ↓ 8-9 km/h   │  \_(   ).   ↓ 13-18 km/h │  \_(   ).   ← 12-21 km/h   │
│    `-’      10 km        │    `-’      10 km        │  /(___(__)  10 km        │  /(___(__)  10 km          │
│   /   \     0.0 mm | 0%  │   /   \     0.0 mm | 0%  │             0.0 mm | 0%  │             0.0 mm | 0%    │
└──────────────────────────┴──────────────────────────┴──────────────────────────┴────────────────────────────┘
  • &hsepwidth=int - alternative to above option. Should provide finer control, though that would make unequal padding at different sides from separator). Minimum value - 1.

There's how I would leave it for tooltip:

─────────────────────────────────────────────────┤  Thu 02 Sep ├───────────────────────────────────────────
          Morning                     Noon                      Evening                     Night          
  \  /       Partly cloudy   \  /       Partly cloudy   \  /       Partly cloudy   \  /       Partly cloudy
_ /"".-.     17 °C         _ /"".-.     21 °C         _ /"".-.     19 °C         _ /"".-.     15 °C        
  \_(   ).   ↘ 6-7 km/h      \_(   ).   ↓ 9-10 km/h     \_(   ).   ↓ 10-17 km/h    \_(   ).   ← 3-7 km/h   
  /(___(__)  10 km           /(___(__)  10 km           /(___(__)  10 km           /(___(__)  10 km        
             0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  
─────────────────────────────────────────────────┤  Fri 03 Sep ├───────────────────────────────────────────
          Morning                     Noon                      Evening                     Night          
  \  /       Partly cloudy    \   /     Sunny           \  /       Partly cloudy   \  /       Partly cloudy
_ /"".-.     18 °C             .-.      +23(25) °C    _ /"".-.     21 °C         _ /"".-.     17 °C        
  \_(   ).   ↑ 6 km/h       ― (   ) ―   ↗ 8-9 km/h      \_(   ).   ↘ 3-5 km/h      \_(   ).   ↓ 4-9 km/h   
  /(___(__)  10 km             `-’      10 km           /(___(__)  10 km           /(___(__)  10 km        
             0.0 mm | 0%      /   \     0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  
─────────────────────────────────────────────────┤  Sat 04 Sep ├───────────────────────────────────────────
          Morning                     Noon                      Evening                     Night          
   \   /     Sunny            \   /     Sunny           \  /       Partly cloudy   \  /       Partly cloudy
    .-.      18 °C             .-.      +22(24) °C    _ /"".-.     21 °C         _ /"".-.     17 °C        
 ― (   ) ―   ↓ 7-8 km/h     ― (   ) ―   ↓ 8-9 km/h      \_(   ).   ↓ 13-18 km/h    \_(   ).   ← 12-21 km/h 
    `-’      10 km             `-’      10 km           /(___(__)  10 km           /(___(__)  10 km        
   /   \     0.0 mm | 0%      /   \     0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  
  • Btw, other possible option for default format - use global periods header line instead of per day: (well, that's without frame... with linked frame it could be great inside frame, but if not linked - may be better outside of all frames, probably with own frame).
          Morning                     Noon                      Evening                     Night          
─────────────────────────────────────────────────┤  Thu 02 Sep ├───────────────────────────────────────────
  \  /       Partly cloudy   \  /       Partly cloudy   \  /       Partly cloudy   \  /       Partly cloudy
_ /"".-.     17 °C         _ /"".-.     21 °C         _ /"".-.     19 °C         _ /"".-.     15 °C        
  \_(   ).   ↘ 6-7 km/h      \_(   ).   ↓ 9-10 km/h     \_(   ).   ↓ 10-17 km/h    \_(   ).   ← 3-7 km/h   
  /(___(__)  10 km           /(___(__)  10 km           /(___(__)  10 km           /(___(__)  10 km        
             0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  
─────────────────────────────────────────────────┤  Fri 03 Sep ├───────────────────────────────────────────
  \  /       Partly cloudy    \   /     Sunny           \  /       Partly cloudy   \  /       Partly cloudy
_ /"".-.     18 °C             .-.      +23(25) °C    _ /"".-.     21 °C         _ /"".-.     17 °C        
  \_(   ).   ↑ 6 km/h       ― (   ) ―   ↗ 8-9 km/h      \_(   ).   ↘ 3-5 km/h      \_(   ).   ↓ 4-9 km/h   
  /(___(__)  10 km             `-’      10 km           /(___(__)  10 km           /(___(__)  10 km        
             0.0 mm | 0%      /   \     0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  
─────────────────────────────────────────────────┤  Sat 04 Sep ├───────────────────────────────────────────
   \   /     Sunny            \   /     Sunny           \  /       Partly cloudy   \  /       Partly cloudy
    .-.      18 °C             .-.      +22(24) °C    _ /"".-.     21 °C         _ /"".-.     17 °C        
 ― (   ) ―   ↓ 7-8 km/h     ― (   ) ―   ↓ 8-9 km/h      \_(   ).   ↓ 13-18 km/h    \_(   ).   ← 12-21 km/h 
    `-’      10 km             `-’      10 km           /(___(__)  10 km           /(___(__)  10 km        
   /   \     0.0 mm | 0%      /   \     0.0 mm | 0%                0.0 mm | 0%                0.0 mm | 0%  

nick87720z avatar Sep 02 '21 15:09 nick87720z

Thank you very much! All of the proposed options look very good, and I think we should make them all available.

Other related issues:

  • #65
  • #113
  • #192
  • #197
  • #297

chubin avatar Oct 31 '21 20:10 chubin