เวลา ดูรายการ “มะจัง” ไม่เคยรู้สึกมีอารมณ์ร่วมอะไร ฯ MV ที่ดูก็อย่างก็คล้ายๆ ว่าจะเคยดูครั้งแรกในชีวิต ฯ ไม่พอวันก่อนเปิดฟัง A Day Radio มีช่วงเพลงเก่า ฯ ดีเจคุยกันเรื่องเพลงเรื่องท่าเต้น ฯ ผมไม่รู้จักสักอย่าง ฯ แปลกใจเหมือนกันว่าผมหายไปไหนมา ฯ ไปศึกษาอยู่ต่างประเทศหรือก็เปล่า ฯ เมื่อกี้งานปีใหม่ของหอในเปิดเพลง “ใบขับขี่” ของน้าหมู พงษ์เทพ กระโดนชำนาญ ฯ ตอนนี้นึกได้แล้วว่าสมัยนั้นผมไปไหนมา ฯ
คลังเก็บรายเดือน: ธันวาคม 2010
My Gmate Mod
ผมใช้ gmate (ชุด plugin ของ gedit) มาสักพักก็มีเรื่องขัดใจนิดหน่อย แต่ส่วนมากคือชอบนะ ฯ กรณีที่ผมอธิบายได้ตอนนี้มี 2 แบบคือ
- เวลาใส่เครื่องหมายน้อยกว่า มันเติมมากกว่าให้ตลอด สมมุติผมอยากพิมพ์ if x < y ฯ มันก็จะขึ้น if x y ตลอด
- อีกอย่างเวลาจะส่ง list ไปใน argument แทน เช่น ทีแรกเขียน my_func(1,2,3) จะแก้เป็น my_func([1,2,3]) มันก็จะไม่ค่อยขึ้นมาให้ ฯ แต่จะเป็นแบบนี้แทน my_func([]1,2,3)
ดูๆ แล้วก็แก้ gemini.py ก็เลยลองเอามาแบ่งๆ กันใช้ดูเผื่อคนอื่นชอบ จะได้พยายาม submit ไปต้นน้ำ ฯ ถ้าผมชอบคนเดียวก็ใช้คนเดียว ฯ
diff --git a/plugins/gemini.py b/plugins/gemini.py
index 0c916e7..2ee79b5 100644
--- a/plugins/gemini.py
+++ b/plugins/gemini.py
@@ -52,8 +52,8 @@ class GeminiPlugin( gedit.Plugin):
class Gemini:
start_keyvals = [34, 39, 96, 40, 91, 123,60]
end_keyvals = [34, 39, 96, 41, 93, 125,62]
- twin_start = ['"',"'",'`','(','[','{','<']
- twin_end = ['"',"'",'`',')',']','}','>']
+ twin_start = ['"',"'",'`','(','[','{']
+ twin_end = ['"',"'",'`',')',']','}']
def __init__(self):
return
@@ -89,7 +89,8 @@ class Gemini:
buf.delete(start_iter, end_iter)
buf.insert_at_cursor(start_str + selected_text + end_str)
return True
- elif end_str != forward_char and end_str != None:
+ elif end_str != forward_char and end_str != None and \
+ forward_char in (" ", "\t", ""):
# insert the twin that matches your typed twin
buf.insert(cursor_iter, end_str)
if cursor_iter.backward_char():
@@ -142,4 +143,4 @@ class Gemini:
buf.insert_at_cursor(' ' * view.get_tab_width())
else:
buf.insert_at_cursor('\t')
- return True
\ No newline at end of file
+ return True
ใช้ Swath จาก PHP
ทางบ้านถามเข้ามาหลายท่าน ผมจึงเขียนออกมาได้แบบนี้ครับ
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Swath Web</title>
<meta name="generator" content="TextMate http://macromates.com/">
<meta name="author" content="Vee Satayamas">
</head>
<body>
<form method="post">
<textarea name="input_text" cols="80" rows="10"></textarea>
<input type="submit" value="submit">
</form>
<?php
function swath($input_text)
{
$input_filename= tempnam("/tmp", "swath_");
$output_filename= tempnam("/tmp", "swath_");
$input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text);
file_put_contents($input_filename, $input_text_tis620);
system("/usr/bin/swath < $input_filename > $output_filename");
$raw = file_get_contents($output_filename);
$raw_utf8 = iconv("TIS-620", "UTF-8", $raw);
unlink($input_filename);
unlink($output_filename);
return preg_split('/\|/', $raw_utf8);
}
if($_REQUEST['input_text']) {
$output = swath($_REQUEST['input_text']);
print implode(" ", $output);
}
?>
</body>
</html>
แต่ว่าแบบนี้เราต้องลง swath ไว้ใน /usr/bin นะครับ ฯ ลงไว้ที่อื่นก็ไม่น่าเป็นไรนะครับ เปลี่ยนใน code เอาเลยก็ได้ ฯ อีกอย่างคือต้องการใช้ iconv ด้วย ฯ แต่ถ้าไม่ใช้ iconv ก็น่าจะได้อีกเหมือนกัน ฯ เปลี่ยนหน้าเว็บเป็น TIS-620 ให้หมดก็น่าจะใช้ได้เลย ฯ