Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.24 KB | None | 0 0
  1. hours = { "ett", "två", "tre", "fyra", "fem", "sex", "sju", "åtta",
  2.       "nio", "tio", "elva", "tolv" }
  3.  
  4. minutes = { "fem över %s", "tio över %s", "kvart över %s",
  5.         "tjugo över %s", "fem i halv %s", "halv %s",
  6.         "fem över halv %s", "tjugo i %s", "kvart i %s",
  7.         "tio i %s", "fem i %s", "%s" }
  8.  
  9. function round_minute(min)
  10.    -- modulus (%) ser tydligen ut såhär i Lua
  11.    rem = math.mod(min, 5)
  12.    -- Avrunda ner till närmsta 5 först
  13.    rounded = min - rem
  14.  
  15.    -- Vi går tidigare till nästa 5-minutersblock, tydligen. Lånad kod,
  16.    -- såklart!
  17.    if rem >= 3 then
  18.       rounded = rounded + 5
  19.    end
  20.  
  21.    return rounded
  22. end
  23.  
  24. function hour_to_human(hour)
  25.    if hour > 12 then
  26.       hour = hour - 12
  27.    end
  28.  
  29.    if hour == 0 then
  30.       hour = 12
  31.    end
  32.  
  33.    return hour
  34. end
  35.  
  36. function time_to_human(cur_time)
  37.    -- cur_time är ett tidsobjekt!
  38.    min  = cur_time["min"]
  39.    hour = cur_time["hour"]
  40.  
  41.    -- Slutprodukten
  42.    fuzzy_time = ""
  43.  
  44.    -- Från fem i halv refererar vi ju till nästa timme! Vi börjar med
  45.    -- att avrunda minuterna, och därefter ökar vi på timmen med ett
  46.    rmin = round_minute(min)
  47.  
  48.    if rmin >= 25 then
  49.       hour = hour + 1
  50.  
  51.       -- Över 24, ställ om till 01!
  52.       if hour >= 24 then
  53.      hour = 1
  54.       end
  55.    end
  56.  
  57.    -- Eh, glömde först detta och då flippade klockan ut vid lunch
  58.    -- ungefär.
  59.    correct_hour = hour_to_human(hour)
  60.  
  61.    tmin = rmin / 5
  62.    if tmin == 0 then
  63.       tmin = 12
  64.    end
  65.  
  66.    -- teh magic!
  67.    fuzzy_time = string.format(minutes[tmin], hours[correct_hour])
  68.    return fuzzy_time
  69. end
  70.  
  71. -- Kör bara den här funktionen!
  72. function fuzzy_time()
  73.    cur_time = os.date("*t")
  74.    return time_to_human(cur_time)
  75. end
  76.  
  77. -- För att testa osv
  78. -- cur_time = os.date("*t")
  79. -- print(time_to_human(cur_time))
  80.  
  81. -----------------------------------------------------------------------
  82. -- below from rc.lua
  83.  
  84. function annoyMe ()
  85.    naughty.notify({ title      = "satan också!"
  86.             , text       = "bah :("
  87.             , timeout    = 25
  88.             , position   = "top_right"
  89.             , fg         = beautiful.fg_focus
  90.             , bg         = beautiful.bg_focus
  91.          })
  92.    timewidget.text = fuzzy_time()
  93. end
  94. awful.hooks.timer.register(20, function() annoyMe() end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement