Friday, January 18, 2013

Copyright laws

I was recently thinking what is wrong with this world. I mean, why the hell netflix streams only to US? Yes, I know the reason, that they have rights only for US, but why?

Why are modern (well, actually the problem is that they aren't very modern) copyright laws so wrong? I am not requesting that it should be completely fine to just copy stuff all over internet (while it's a dream :D ).

But take netflix (and his content providers) as example. I WANT to give them my money. I WANT to pay for stuff (come one, 8 bucks per month? that very nice). But I can't, because I am from Europe. And believe me, in my country there simply isn't possibility of just buying most of movies and series. Not from home over internet.

So, netflix (all copyright laws in general) is forcing me to piracy. Because there is not legal easy way to get that content.

To sum up, I just put it this way: I want to give them my money, why the hell they don't want them?

Thursday, January 3, 2013

Keyboard switcher for awesome 4.5+

So there was Awesome update recently, which totally changed syntax of rc.lua (or at least how Awesome uses this language). I have very little changes in rc.lua, mainly widget for changing keyboard layouts.

What I did is that I deleted my old ~/.config/awesome/rc.lua, copied the default one (on Arch linux it is in /etc/xdg/awesome/rc.lua) and recreated widget for switching keyboard layouts.

So here's code of widget:
-- keyboard switcher
-- Keyboard map indicator and changer
    kbdswitcher = {}
    kbdswitcher.cmd = "setxkbmap"
    kbdswitcher.layout = { { "us", "" }, { "cz", "qwerty" } }
    kbdswitcher.current = 1  -- us is our default layout
    kbdswitcher.widget = wibox.widget.textbox()
    kbdswitcher.widget:set_text(" " .. kbdswitcher.layout[kbdswitcher.current][1] .. " ")
    kbdswitcher.switch = function ()
       kbdswitcher.current = kbdswitcher.current % #(kbdswitcher.layout) + 1
       local t = kbdswitcher.layout[kbdswitcher.current]
       kbdswitcher.widget:set_text(" " .. t[1] .. " ")
       os.execute( kbdswitcher.cmd .. " " .. t[1] .. " " .. t[2] )
    end 
-- Mouse bindings
kbdswitcher.widget:buttons(awful.util.table.join(
    awful.button({ }, 1, function () kbdswitcher:switch() end)
))
you can just copy&paste this into your rc.lua (I have it under definition of mytextclock widget) and it should do the trick.

Don't forget to add keyboard switcher to your widgets to display, I have it after clock widget in right corner:
right_layout:add(mytextclock)
right_layout:add(kbdswitcher.widget)
And if you want to use keyboard shortcut in addition to mouse to switch layouts, add this to globalkeys array:
-- Alt + Right Shift switches the current keyboard layout
awful.key({ "Mod1" }, "Shift_L", function () kbdswitcher:switch() end),
I hope this will be useful to anyone ^_^

PS: yes, for those of you who noticed, the widget is not my by origin, I merely updated it to work under awesome 4.5