คราวก่อนขุดโปรแกรม resize รูปมาขาย คราวนี้ขุดของเก่ามาขายอีกแล้ว :) กับการเขียน theme (หรือ widget) ของ Superkaramba

Superkaramba คือโปรแกรมหรือเครื่องมือที่ช่วยให้คุณสร้างวิดเจ็ตต่างๆ ขึ้นมาบน KDE ครับ ปัจจุบันก็รวมตัวเป็นส่วนหนึ่งของ KDE เป็นที่เรียบร้อย

 

รุ่นนี้เป็นรุ่นปรับแก้บั๊กเรื่อง NumLock/CapsLock ไม่ยอมเปลี่ยน ตามที่เคยบันทึกไว้

แต่ผมลืมแพกเกจที่ต้องการก่อนติดตั้งหมดแล้ว ฝากดูเอาเองตอน debuild หรือ configure

วิธีสร้างแพกเกจเดเบียน
$ sudo aptitude install devscripts
$ apt-get source qemu
$ cd qemu-0.9.0+20070816
$ vi sdl.c

. . .
    if (ev->keysym.sym == SDLK_PAUSE) {
        /* specific case */
        v = 0;
        if (ev->type == SDL_KEYUP)
            v |= 0x80;
        kbd_put_keycode(0xe1);
        kbd_put_keycode(0x1d | v);
    //    kbd_put_keycode(0x45 | v);
        return;
    }

    if (kbd_layout) {
 

ขอเขียนลงห้องทดลองด้วยคนนะครับ :D

Shell script อันนี้เขียนไว้นานแล้วครับ (ประมาณ 2 ปีแล้ว :P) ให้ทำการ resize รูป JPEG ด้วยคำสั่ง convert จาก ImageMagick แล้วช่วงนั้นก็อยากเขียน shell script ให้มี GUI ก็เลยใช้ Xdialog ในการสร้าง GUI ขึ้นมา แต่ตอนนั้นสคริปต์มีข้อจำกัดนิดหน่อย คือทำงานกับชื่อแฟ้มหรือไดเร็คทอรีที่มี space ไม่ได้ โค้ดก็ไม่สวย :P (ตอนนั้นยังรู้อะไรไม่ค่อยมากนัก จริงๆ มันไม่ได้มีอะไรใหม่หรอก)

 

ต่อเนื่องจากครั้งก่อนเรื่อง imagemagick: ทำ annotate ไฟล์ tif

มีข้อบกพร่องเล็กน้อยคือ เวลาที่ inkscape นำเข้าไฟล์ tif จะกำหนดขนาดเป็นพิกเซลตามไฟล์ tif
ซึ่งจะมีขนาดใหญ่กว่า A4 พอสมควร (เทียบที่ค่าปริยายของ inkscape คือ 90dpi)
ถ้าจะแก้ไขด้วยการปรับหน้ากระดาษและลดขนาดภาพใน inkscape ทุกครั้ง ก็ดูไม่ค่อยสะดวก
และจะแก้ไขด้วยการลดขนาดพิกเซลของภาพ ก็เสียดายความละเอียด
จึงทดลองแปลงสคริปต์ไฟล์เดิม จากการใช้เชลล์สคริปต์ของ bash มาเป็นไพธอนแทน ทั้งนี้เพียงเพื่อหาขนาดพิกเซลของภาพเท่านั้น (แทบไม่ได้ใช้ความสามารถจริง ๆ ของไพธอนเลย)

Topic: 
 

ไพธอนมีคำสั่งในการรันเชลล์ คือ os.system
เช่น สมมุติว่าต้องการรันคำสั่ง ls

>>> import os

>>> exitstatus = os.system('ls')
FILE1.TXT  FILE2.TXT  FILE3.TXT

>>> exitstatus
0

แต่ถ้าเราต้องการนำเข้าการแสดงผลจากเชลล์ เข้ามาในตัวแปรในไพธอน จะใช้อีกโมดูลนึงคือ commands
เช่น

>>> import commands

>>> exitstatus, outtext = commands.getstatusoutput('ls')

>>> exitstatus
0

>>> outtext
'FILE1.TXT\nFILE2.TXT\nFILE3.TXT'

>>> outtext.split('\n')
['FILE1.TXT', 'FILE2.TXT', 'FILE3.TXT']

Pages

Subscribe to ThaiTux.info RSS