移設

今迄、garden.g.hatena.ne.jp/Kur に置いていたものをこちらに移設。向こうは削除しました。
グループを削除(解散)する方法がわからないので、gardenグループはそのままですが、使用したい方がいらっしゃいましたら管理者権をお渡しいたします。また、(管理者権限が私に有る状態での)グループの使用ははてな利用規約に照らしてご自由に。


なおこちらはソースコードのメモ用。
本拠地は、http://wiki.wiir.jp/2jun/ です。


3Dモデリングツール Metasequoiaメタセコイア)のプラグインは以下の場所で公開しています。

 

javascript

// ==UserScript==
// @name           LDR keybind for LDR
// @namespace      http://ma.la/
// @description    simple keybind for livedoor reader
// @include        http://reader.livedoor.com/reader/
// ==/UserScript==

new function(){
  var w = unsafeWindow;
  w.register_hook('AFTER_INIT', function(){
  GM_addStyle('.fs-focus{background-color:#888;color:#fff !important}');
  GM_addStyle('#right_body,#subs_body{bodrder:2px solid #fff}');
  with(w){
    register_hook('AFTER_PRINTFEED', function(){
      State.focus_subscribe_id = State.now_reading;
    });
    function get_next_from(sid){
      var list = Ordered.list;
      if(!list) return;
      var offset = list.indexOfStr(sid);
      var next = list[offset+1];
      return next;
    }
    function get_prev_from(sid){
      var list = Ordered.list;
      if(!list) return;
      var offset = list.indexOfStr(sid);
      var prev = list[offset-1];
      return prev;
    }
    var state = 0;
    function subs_focus(id, e){
      var el = $('subs_item_' + id);
      if(!el) return;
      SubsItem.onhover.call(el,e)
      if(Config.view_mode != "flat"){
        var tvroot = QueryCSS.findParent(function(){
          return /^treeview/.test(this.id)
        }, el);
        var tv = TreeView.get_control(tvroot.id);
        tv && tv.open()
      }
      var sc = $("subs_container");
      sc.scrollTop = el.offsetTop - $("subs_container").offsetTop - 64;
      sc.scrollLeft = 0;
    }
    function subs_unfocus(id,e){
      var el = $('subs_item_' + id);
      if(!el) return;
      SubsItem.onunhover.call(el, e);
    }
    Control.scan_up = function(e){
      var current = State.focus_subscribe_id || State.now_reading;
      var prev = get_prev_from(current);
      if(prev){
        if(current){ subs_unfocus(current, e) }
        subs_focus(prev, e);
        State.focus_subscribe_id = prev;
      }
    };
    Control.scan_down = function(e){
      var current = State.focus_subscribe_id || State.now_reading;
      var next = get_next_from(current);
      if(next){
        if(current){ subs_unfocus(current, e) }
        subs_focus(next, e);
        State.focus_subscribe_id = next;
      }
    };
    Keybind.add('left', function(){
      state = 0;
      setStyle('subs_body', {
        border : '2px dotted #99f'
      });
      setStyle('right_body', {
        border : '2px solid #fff'
      })
    });
    Keybind.add('right', function(){
      if(state == 1){ Control.pin(); return }
      if(state == 0){
        state = 1;
        if(State.focus_subscribe_id){
          Control.read(State.focus_subscribe_id, Control.prefetch);
        }
        setStyle('subs_body', {
          border : '2px solid #fff'
        });
        setStyle('right_body', {
          border : '2px dotted #99f'
        })
      }
    });
    Keybind.add('down', function(){
      if(state == 1){ Control.go_next(); return }
      Control.scan_down();
    });
    Keybind.add('up', function(){
      if(state == 1){ Control.go_prev(); return }
      Control.scan_up();
    });
  }
  
  });
}