awesome ablakkezelő

Kezdőlap Fórumok Linuxos szoftverek awesome ablakkezelő

10 bejegyzés megtekintése - 741-750 / 1,006
  • Szerző
    Bejegyzés
  • #2147143
    uzsolt
    Felhasználó

      Na-na! Ne keverjük a szezont a fazonnal, meg a gizikét a gőzekével! Az mpd-s „játékom”:

      Code:
      require(„lua_mpd”)

      lol = luampd:new { host = „localhost” , port = 6600, debug = false }

      function hook_mpd_update ()
          function song_output(current_song, status)
              cur_time = string.sub(status.time,1,string.find(status.time,”:”)-1);
              tot_time = string.sub(status.time,string.find(status.time,”:”)+1,-1);
              cur_min = math.floor(cur_time/60)
              cur_sec = cur_time-cur_min*60
              tot_min = math.floor(tot_time/60)
              tot_sec = tot_time-tot_min*60

              if current_song.artist then
                  song_str = current_song.artist
              else
                  song_str = „unknown artist”
              end

              if current_song.title then
                  song_str = song_str .. ” – ” .. current_song.title
              else
                  song_str = song_str .. ” – unknown title”
              end

              if not current_song.title and not current_song.artist then
                  song_str = string.gsub(current_song.file,”(.*/)”,””)
              end

              return song_str .. ” (” ..
                  cur_min .. „:” .. string.format(„%02d”,cur_sec) .. „/” ..
                  tot_min .. „:” .. string.format(„%02d”,tot_sec) .. „)”
          end

          local status = lol:status()

          if status.state == „play” then
              local cs = lol:currentsong()
              tb_mpd.text = song_output(cs,status)
          else if status.state == „stop” then
              tb_mpd.text = „– not playing –”
          else if status.state == „pause” then
              tb_mpd.text = ” <>”
          end end end
      end

      awful.hooks.timer.register(1, hook_mpd_update)

      Tehát lényegében meghívod az rc.lua-ból a szükséges függvényeket… Aztán azok kimenetével, visszaadott értékeivel azt kezdesz, amit akarsz. Akár ki is írathatod egy textbox-ba…

      #2147144
      uzsolt
      Felhasználó

        Na-na! Ne keverjük a szezont a fazonnal, meg a gizikét a gőzekével! Az mpd-s „játékom”:

        Code:
        require(„lua_mpd”)

        lol = luampd:new { host = „localhost” , port = 6600, debug = false }

        function hook_mpd_update ()
            function song_output(current_song, status)
                cur_time = string.sub(status.time,1,string.find(status.time,”:”)-1);
                tot_time = string.sub(status.time,string.find(status.time,”:”)+1,-1);
                cur_min = math.floor(cur_time/60)
                cur_sec = cur_time-cur_min*60
                tot_min = math.floor(tot_time/60)
                tot_sec = tot_time-tot_min*60

                if current_song.artist then
                    song_str = current_song.artist
                else
                    song_str = „unknown artist”
                end

                if current_song.title then
                    song_str = song_str .. ” – ” .. current_song.title
                else
                    song_str = song_str .. ” – unknown title”
                end

                if not current_song.title and not current_song.artist then
                    song_str = string.gsub(current_song.file,”(.*/)”,””)
                end

                return song_str .. ” (” ..
                    cur_min .. „:” .. string.format(„%02d”,cur_sec) .. „/” ..
                    tot_min .. „:” .. string.format(„%02d”,tot_sec) .. „)”
            end

            local status = lol:status()

            if status.state == „play” then
                local cs = lol:currentsong()
                tb_mpd.text = song_output(cs,status)
            else if status.state == „stop” then
                tb_mpd.text = „– not playing –”
            else if status.state == „pause” then
                tb_mpd.text = ” <>”
            end end end
        end

        awful.hooks.timer.register(1, hook_mpd_update)

        Tehát lényegében meghívod az rc.lua-ból a szükséges függvényeket… Aztán azok kimenetével, visszaadott értékeivel azt kezdesz, amit akarsz. Akár ki is írathatod egy textbox-ba…

        #2147145
        birno
        Felhasználó

          Ok, igazad van.  🙂

          Most a mocp beállításánál tartok, jelenleg így néz ki:

          Code:
          tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )

          function mocp()
            local f = io.popen(‘mocp -i’)
            local l = f:lines()

            for line in l do
                if line:find(‘State: STOP’) ~= nil then
                v = ”
                else
                m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
                v = m:read()
                m:close()
                end
            end

            f:close()
           
            return {v}
          end

          wicked.register(tb_mocp, mocp, „$1”, 1)

          Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
          Van esetleg valami tipped hogyan lehetne ezen javítani?

          #2147146
          birno
          Felhasználó

            Ok, igazad van.  🙂

            Most a mocp beállításánál tartok, jelenleg így néz ki:

            Code:
            tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )

            function mocp()
              local f = io.popen(‘mocp -i’)
              local l = f:lines()

              for line in l do
                  if line:find(‘State: STOP’) ~= nil then
                  v = ”
                  else
                  m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
                  v = m:read()
                  m:close()
                  end
              end

              f:close()
             
              return {v}
            end

            wicked.register(tb_mocp, mocp, „$1”, 1)

            Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
            Van esetleg valami tipped hogyan lehetne ezen javítani?

            #2147147
            uzsolt
            Felhasználó
              birno wrote:
              Ok, igazad van.  🙂
              Nem újdonság 😛 Szóval akkor működik az az imapfilter?

              birno wrote:
              Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
              Van esetleg valami tipped hogyan lehetne ezen javítani?

              Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
              Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
              Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…

              #2147148
              uzsolt
              Felhasználó
                birno wrote:
                Ok, igazad van.  🙂
                Nem újdonság 😛 Szóval akkor működik az az imapfilter?

                birno wrote:
                Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
                Van esetleg valami tipped hogyan lehetne ezen javítani?

                Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
                Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
                Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…

                #2147149
                birno
                Felhasználó
                  uzsolt wrote:
                  birno wrote:
                  Ok, igazad van.  🙂
                  Nem újdonság 😛 Szóval akkor működik az az imapfilter?

                  Az egyszerűbb utat választottam, nem újdonság, inkább használom a jól bevált python scriptet.

                  uzsolt wrote:
                  Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
                  Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
                  Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…

                  mpd-t már nem is tudom miért nem szerettem, de mivel elég keveset hallgatok zenét nem akarok egy másik progit beállítgatni ha nem muszáj.
                  Amúgy te miért használsz kettőt?
                  Miért jobb a cmus?

                  Code:
                  tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )

                  function hook_mocp_update()
                  function mocp()
                    local f = io.popen(‘mocp -i’)
                    local l = f:lines()

                    for line in l do
                            if line:find(‘State: STOP’) ~= nil then
                        v = ‘not play’
                            else
                        m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
                        v = m:read()
                        m:close()
                            end
                    end

                    f:close()
                  end 
                      tb_mocp.text = mocp()
                  end

                  awful.hooks.timer.register(1, hook_mocp_update)

                  Semmit nem csinál, még csak azt sem írja, ki, hogy „not play”.

                  #2147150
                  birno
                  Felhasználó
                    uzsolt wrote:
                    birno wrote:
                    Ok, igazad van.  🙂
                    Nem újdonság 😛 Szóval akkor működik az az imapfilter?

                    Az egyszerűbb utat választottam, nem újdonság, inkább használom a jól bevált python scriptet.

                    uzsolt wrote:
                    Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
                    Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
                    Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…

                    mpd-t már nem is tudom miért nem szerettem, de mivel elég keveset hallgatok zenét nem akarok egy másik progit beállítgatni ha nem muszáj.
                    Amúgy te miért használsz kettőt?
                    Miért jobb a cmus?

                    Code:
                    tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )

                    function hook_mocp_update()
                    function mocp()
                      local f = io.popen(‘mocp -i’)
                      local l = f:lines()

                      for line in l do
                              if line:find(‘State: STOP’) ~= nil then
                          v = ‘not play’
                              else
                          m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
                          v = m:read()
                          m:close()
                              end
                      end

                      f:close()
                    end 
                        tb_mocp.text = mocp()
                    end

                    awful.hooks.timer.register(1, hook_mocp_update)

                    Semmit nem csinál, még csak azt sem írja, ki, hogy „not play”.

                    #2147151
                    uzsolt
                    Felhasználó
                      birno wrote:
                      Amúgy te miért használsz kettőt?
                      Mert az mpd jó. De van egy hiányossága: nem olyan könnyű „ideiglenesen” hozzáadni fájlokat. Vagyis inkább „karbantartani” a „hozzáadásokat”. Ebben lenne jó a moc, de neki meg a legnagyobb hibája, hogy nehéz vele kommunikálni, sőt, néha szaggat is.

                      birno wrote:
                      Miért jobb a cmus?
                      Mármint a moc-nál? Nem szaggat (legalábbis egy-két órás használat alatt nem tapasztaltam), jobban beállítható, mint a moc, és könnyen tud pl. awesome-nak üzenetet küldeni (tehát számváltáskor csak).
                      Vagy az mpd-nél? Előny: nagyon jól dokumentált, könnyű kezelni. Ő lenne a legjobb, ha ideiglenesen is könnyen lehetne fájlokat hozzáadni/törölni (pl. cd/dvd-ről).

                      Moc-lua: passzolok. Érdemes lehet kipróbálni úgy, hogy indítasz egy lua-t, és bepötyögöd, hogy lásd, mi történik.

                      #2147152
                      uzsolt
                      Felhasználó
                        birno wrote:
                        Amúgy te miért használsz kettőt?
                        Mert az mpd jó. De van egy hiányossága: nem olyan könnyű „ideiglenesen” hozzáadni fájlokat. Vagyis inkább „karbantartani” a „hozzáadásokat”. Ebben lenne jó a moc, de neki meg a legnagyobb hibája, hogy nehéz vele kommunikálni, sőt, néha szaggat is.

                        birno wrote:
                        Miért jobb a cmus?
                        Mármint a moc-nál? Nem szaggat (legalábbis egy-két órás használat alatt nem tapasztaltam), jobban beállítható, mint a moc, és könnyen tud pl. awesome-nak üzenetet küldeni (tehát számváltáskor csak).
                        Vagy az mpd-nél? Előny: nagyon jól dokumentált, könnyű kezelni. Ő lenne a legjobb, ha ideiglenesen is könnyen lehetne fájlokat hozzáadni/törölni (pl. cd/dvd-ről).

                        Moc-lua: passzolok. Érdemes lehet kipróbálni úgy, hogy indítasz egy lua-t, és bepötyögöd, hogy lásd, mi történik.

                      10 bejegyzés megtekintése - 741-750 / 1,006
                      • Be kell jelentkezni a hozzászóláshoz.