Running Slackware Linux on Thinkpad T61

Fluxbox and Peripherals Configuration in Slackware Linux for ThinkPad T61

Author: Cherife Li
I installed fluxbox window manager only, with the xorg.conf configuration below, everything works well, including the dual monitors.
I don't like TouchPad very much, so disabled it in the BIOS and kernel, and commented it out in the following config file.
$ cat /etc/X11/xorg.conf
    Section "Module"
        Load        "dbe"   # Double buffer extension
        SubSection  "extmod"
          Option    "omit xfree86-dga"   # don't initialise the DGA extension
        EndSubSection
        Load        "freetype"
        #Load        "speedo"
        Load        "GLcore"
        Load        "glx"
        Load        "record"
        Load        "bitmap"
        Load        "dri"
        Load        "int10"
        Load        "vbe"
        Load        "xtrap"
    EndSection

    Section "Files"
        RgbPath     "/usr/share/X11/rgb"
    #    FontPath   "/usr/share/fonts/local/"
        FontPath   "/usr/share/fonts/misc/"
        FontPath   "/usr/share/fonts/OTF/"
        FontPath   "/usr/share/fonts/TTF/"
        FontPath   "/usr/share/fonts/Type1/"
    #    FontPath   "/usr/share/fonts/CID/"
        FontPath   "/usr/share/fonts/Speedo/"
        FontPath   "/usr/share/fonts/75dpi/:unscaled"
        FontPath   "/usr/share/fonts/100dpi/:unscaled"
        FontPath   "/usr/share/fonts/75dpi/"
        FontPath   "/usr/share/fonts/100dpi/"
        FontPath   "/usr/share/fonts/cyrillic/"
        ModulePath "/usr/lib/xorg/modules"
    EndSection

    Section "ServerFlags"
        Option      "blank time"    "0"
        Option      "standby time"  "0"
        Option      "suspend time"  "0"
        Option      "off time"      "0"
        Option      "RandR"
    EndSection

    Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "CoreKeyboard"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
    EndSection

    Section "InputDevice"
        Identifier  "UltraNav Trackpoint"
        Driver      "mouse"
        Option      "CorePointer"
        Option      "Device"              "/dev/input/mice"
        Option      "Protocol"            "ImPS/2"
        Option      "Emulate3Buttons"     "off"
        Option      "EmulateWheel"        "on"
        Option      "EmulateWheelTimeOut" "250"
        Option      "EmulateWheelButton"  "2"
        Option      "YAxisMapping"        "4 5"
        Option      "XAxisMapping"        "6 7"
        Option      "ZAxisMapping"        "4 5"
    EndSection

    #Section "InputDevice"
    #       Identifier  "Synaptics"
    #       Driver      "synaptics"
    #       Option      "Device" "/dev/input/mice"
    #       Option      "Protocol" "auto-dev"
    #       Option      "Emulate3Buttons" "yes"
    #       Option      "SHMConfig" "on"
    #EndSection

    Section "Monitor"
        Identifier  "Thinkpad Monitor"
        Option      "DPMS"
        HorizSync   31.5-50.0
        VertRefresh 59.9-60.1
    EndSection

    Section "Monitor"
        Identifier  "Philips 200WS8"
        Option      "DPMS"
        HorizSync   30-93
        VertRefresh 56-76
    EndSection

    Section "Device"
        Identifier  "Intel GMA X3100"
        Driver      "intel"
        BusID       "PCI:0:2:0"
        Option      "MonitorLayout" "LCD,VGA"
        Option      "DevicePresence" "true" 
        Screen      0
    EndSection

    Section "Device"
        Identifier  "Intel GMA X3100 External LCD"
        Driver      "intel"
        BusID       "PCI:0:2:0"
        Screen      1
    EndSection

    Section "Screen"
        Identifier          "Thinkpad Screen"
        Device              "Intel GMA X3100"
        Monitor             "Thinkpad Monitor"
        DefaultDepth        24
        SubSection          "Display"
            Depth           24
            Modes           "1680x1050"
            Viewport        0 0
        EndSubSection
    EndSection

    Section "Screen"
        Identifier          "External Screen"
        Device              "Intel GMA X3100 External LCD"
        Monitor             "Philips 200WS8"
        DefaultDepth        24
        SubSection          "Display"
            Depth           24
            Modes          "1680x1050"
            Viewport        0 0
        EndSubSection
    EndSection

    Section "DRI"
        Mode        0666
    EndSection

    Section "Extensions"
        Option      "Composite"     "Enable"
        Option      "RENDER"        "Enable"
    EndSection

    Section "ServerLayout"
        Identifier  "Default Layout"
        Screen 0 "Thinkpad Screen" Absolute 0 0
        InputDevice "UltraNav Trackpoint" "CorePointer"
#        InputDevice "Synaptics" "CorePointer"
        InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    

Fluxbox

$ cat ~/.fluxbox/startup
    # fluxbox startup-script:
    #
    # Lines starting with a '#' are ignored.

    #/usr/bin/fbsetroot -solid black

    # This shows the fluxbox-splash-screen
    # fbsetbg -C /usr/share/fluxbox/splash.jpg

    # Other examples. Check man xset for details.
    #
    # Turn off beeps:
    xset -b
    #
    # Increase the keyboard repeat-rate:
    xset r rate 250 50
    #
    # Your own fonts-dir:
    # xset +fp "/home/cherife/.fonts"
    #
    # Your favourite mouse cursor:
    # xsetroot -cursor_name right_ptr
    #
    # Change your keymap:
    # xmodmap "/home/cherife/.Xmodmap"

    # Applications you want to run with fluxbox.
    # MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN "&" AT THE END.
    #
    # unclutter -idle 2 &
    # wmnd &
    # wmsmixer -w &
    # idesk &
    xhost +local:root
    gkrellm -w &
    xscreensaver &
    scim -d

    # And last but not least we start fluxbox.
    # Because it is the last app you have to run it with ''exec'' before it.

    #exec /usr/X11R6/bin/fluxbox
    # or if you want to keep a log:
    exec /usr/bin/fluxbox -log "/home/cherife/.fluxbox/log"
    
$ cat ~/.fluxbox/init
    session.screen0.titlebar.left:  Stick 
    session.screen0.titlebar.right: Minimize Maximize Close 
    session.screen0.tabs.maxOver:   false
    session.screen0.tabs.intitlebar:        true
    session.screen0.overlay.lineWidth:      1
    session.screen0.overlay.lineStyle:      LineSolid
    session.screen0.overlay.joinStyle:      JoinMiter
    session.screen0.overlay.capStyle:       CapNotLast
    session.screen0.slit.alpha:     0
    session.screen0.slit.autoHide:  false
    session.screen0.slit.direction: Vertical
    session.screen0.slit.onhead:    0
    session.screen0.slit.placement: TopRight
    session.screen0.slit.maxOver:   true
    session.screen0.slit.onTop:     false
    session.screen0.slit.layer:     Desktop
    session.screen0.menu.alpha:     160
    session.screen0.toolbar.widthPercent:   100
    session.screen0.toolbar.visible:        true
    session.screen0.toolbar.placement:      BottomCenter
    session.screen0.toolbar.layer:  Dock
    session.screen0.toolbar.height: 16
    session.screen0.toolbar.onTop:  false
    session.screen0.toolbar.alpha:  160
    session.screen0.toolbar.autoHide:       true
    session.screen0.toolbar.onhead: 0
    session.screen0.toolbar.tools:  workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clock
    session.screen0.toolbar.maxOver:        false
    session.screen0.tab.alignment:  left
    session.screen0.tab.width:      120
    session.screen0.tab.placement:  LeftTop
    session.screen0.tab.rotatevertical:     true
    session.screen0.tab.height:     16
    session.screen0.window.focus.alpha:     200
    session.screen0.window.unfocus.alpha:   120
    session.screen0.iconbar.usePixmap:      true
    session.screen0.iconbar.wheelMode:      Screen
    session.screen0.iconbar.deiconifyMode:  follow
    session.screen0.iconbar.alignment:      Relative
    session.screen0.iconbar.iconTextPadding:        5l
    session.screen0.iconbar.iconWidth:      150
    session.screen0.iconbar.mode:   Workspace
    session.screen0.followModel:    Ignore
    session.screen0.clickRaises:    true
    session.screen0.desktopwheeling:        true
    session.screen0.imageDither:    false
    session.screen0.resizeMode:     Bottom
    session.screen0.windowMenu:     
    session.screen0.edgeSnapThreshold:      0
    session.screen0.workspacewarping:       true
    session.screen0.decorateTransient:      true
    session.screen0.colPlacementDirection:  TopToBottom
    session.screen0.windowPlacement:        RowSmartPlacement
    session.screen0.opaqueMove:     false
    session.screen0.autoRaise:      true
    session.screen0.antialias:      false
    session.screen0.fullMaximization:       false
    session.screen0.focusLastWindow:        true
    session.screen0.workspaceNames: one,two,three,four,
    session.screen0.windowScrollAction: Shade
    session.screen0.tabFocusModel:  ClickToTabFocus
    session.screen0.focusModel:     ClickFocus
    session.screen0.showwindowposition:     true
    session.screen0.menuDelayClose: 0
    session.screen0.defaultDeco:    normal
    session.screen0.menuDelay:      0
    session.screen0.strftimeFormat: %m-%d %k:%M:%S %a
    session.screen0.focusNewWindows:        true
    session.screen0.workspaces:     4
    session.screen0.menuMode:       Delay
    session.screen0.rowPlacementDirection:  LeftToRight
    session.screen0.reversewheeling:        true
    session.screen0.userFollowModel:        Follow
    session.screen0.allowRemoteActions:     false
    session.screen0.rootCommand:    fbsetbg -l
    session.screen0.windowScrollReverse:    true
    session.modKey: Mod1
    session.autoRaiseDelay: 0
    session.tabsAttachArea: Window
    session.forcePseudoTransparency:        true
    session.slitlistFile:   ~/.fluxbox/slitlist
    session.imageDither:    true
    session.focusTabMinWidth:       0
    session.configVersion:  1
    session.ignoreBorder:   true
    session.appsFile:       ~/.fluxbox/apps
    session.tabPadding:     0
    session.styleOverlay:   ~/.fluxbox/overlay
    session.styleFile:      ~/.fluxbox/styles/System_Shock_2004
    session.keyFile:        ~/.fluxbox/keys
    session.colorsPerChannel:       4
    session.groupFile:      ~/.fluxbox/groups
    session.tabs:   true
    session.doubleClickInterval:    250
    session.opaqueMove:     false
    session.cacheMax:       200l
    session.cacheLife:      5l
    session.numLayers:      13
    session.menuFile:       ~/.fluxbox/menu
    
$ cat ~/.fluxbox/keys
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! File   : ~/.fluxbox/keys
    ! Author : Cherife Li <cherife@dotimes.com-RemoveMe->
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    !!!!!!!!!
    ! Fluxbox
    !!!!!!!!!
    Control Mod4 Delete       :Reconfigure
    Control Mod4 Shift Delete :Restart
    Control Mod4 q            :Quit
    !                         :SetStyle argument
    Mod4 l                    :ExecCommand xlock
    Control Mod4 F4           :ExecCommand sudo halt

    !!!!!!!!!
    ! Workspace
    !!!!!!!!!
    Mod4 Tab                  :NextWorkspace
    Mod4 Shift Tab            :PrevWorkspace
    Mod4 Right                :RightWorkspace
    Mod4 Left                 :LeftWorkspace
    Mod4 F1                   :Workspace 1
    Mod4 F2                   :Workspace 2
    Mod4 F3                   :Workspace 3
    Mod4 F4                   :Workspace 4
    Mod1 Tab                  :NextWindow
    Mod1 Shift Tab            :PrevWindow
    Mod1 Control Tab          :NextGroup
    Mod1 Control Shift Tab    :PrevGroup
    Mod4 a                    :ArrangeWindows
    Mod4 d                    :ShowDesktop
    Control Menu              :RootMenu
    Mod4 Menu                 :WorkspaceMenu
    Mod1 Menu                 :WindowMenu
    Mod4 e                    :WorkspaceNameDialog
    Mod4 Control e            :SetWorkspaceName name


    !!!!!!!!!
    ! Current focused window
    !!!!!!!!!
    !Minimize, MinimizeWindow or Iconify
    Mod4 Control m            :Minimize
    !Maximize, MaximizeWindow
    Mod4 m                    :Maximize
    Mod4 f                    :Fullscreen
    Mod4 v m                  :MaximizeVertical
    Mod4 h m                  :MaximizeHorizontal
    !                         :ResizeTo width height
    Mod4 Control Left         :Resize -1 0
    Mod4 Control Right        :Resize 1 0
    Mod4 Control Up           :Resize 0 1
    Mod4 Control Down         :Resize 0 -1
    !                         :ResizeHorizontal delta-width
    !                         :ResizeVertical delta-height
    Mod4 0                    :MoveTo 0 0
    Mod4 9                    :MoveTo 1680 0
    Mod4 Shift Left           :Move -1 0
    Mod4 Shift Right          :Move 1 0
    Mod4 Shift Up             :Move 0 -1
    Mod4 Shift Down           :Move 0 1
    !                         :MoveRight delta-x
    !                         :MoveLeft delta-x
    !                         :MoveUp delta-y
    !                         :MoveDown delta-y
    Mod4 Mod1 Up              :Raise
    Mod4 Mod1 Down            :Lower
    Mod1 F4                   :Close
    !Shade, ShadeWindow
    Mod4 s                    :Shade
    !Stick, StickWindow
    Mod4 Control s            :Stick
    Mod4 d                    :ToggleDecor
    Mod4 Mod1 1               :SendToWorkspace 1
    Mod4 Mod1 2               :SendToWorkspace 2
    Mod4 Mod1 3               :SendToWorkspace 3
    Mod4 Mod1 4               :SendToWorkspace 4
    Mod4 Shift 1              :TakeToWorkspace 1
    Mod4 Shift 2              :TakeToWorkspace 2
    Mod4 Shift 3              :TakeToWorkspace 3
    Mod4 Shift 4              :TakeToWorkspace 4
    Mod4 k                    :KillWindow
    Mod4 t                    :NextTab
    Mod4 Shift t              :PrevTab
    Mod4 Shift Left t         :MoveTabLeft
    Mod4 Shift Right t        :MoveTabRight
    Mod4 Shift d t            :DetachClient


    !!!!!!!!!!
    ! Accessibility
    !!!!!!!!!!
    Mod1 f                    :Exec firefox
    Mod1 t                    :Exec thunderbird
    Mod1 s                    :Exec skype
    Mod1 p                    :Exec pidgin
    Mod1 e                    :ExecCommand env | sort | xmessage -file -
    Mod1 g                    :Exec gvim
    Mod1 a                    :Exec audacious
    Mod1 m                    :Exec gmplayer
    Mod1 b                    :Exec mybashburn
    Mod1 o                    :Exec openoffice.org2.4
    Mod1 v                    :Exec sudo ~/bin/vbox-bridge start && virtualbox
    Mod4 Control r            :Exec sudo reboot
    Control Shift 1           :Exec sudo ipswitch eth
    Control Shift 2           :Exec sudo ipswitch wifi-home
    Control Shift 3           :Exec sudo ipswitch wifi-work
    Mod1 r                    :ExecCommand rxvt
    Control Mod1 r            :ExecCommand rxvt -e su -
    Control Print             :ExecCommand sleep 1 && import -window root -compress JPEG2000 ~/tmp/screenshot-`date +%F-%k-%m-%M`.jpg
    Control Shift Print       :ExecCommand sleep 1 && import -compress JPEG2000 ~/tmp/screenshot-`date +%F-%k-%m-%M`.jpg
    None XF86AudioPlay :ExecCommand /usr/bin/audacious --play-pause
    None XF86AudioStop :ExecCommand /usr/bin/audacious --stop
    None XF86AudioPrev :ExecCommand /usr/bin/audacious --rew
    None XF86AudioNext :ExecCommand /usr/bin/audacious --fwd
    None XF86AudioMute :ExecCommand amixer -q set Master toggle
    None XF86AudioLowerVolume :ExecCommand amixer -q set PCM 1-
    None XF86AudioRaiseVolume :ExecCommand amixer -q set PCM 1+
    
$ cat ~/.fluxbox/menu
    # If you read this it means you want to edit this file manually, so here
    # are some useful tips:
    #
    # - You can add your own menu-entries to ~/.fluxbox/usermenu
    #
    # - If you miss apps please let me know and I will add them for the next
    #   release.
    #
    # - The -r option prevents removing of empty menu entries and lines which
    #   makes things much more readable.
    #
    # - To prevent any other app from overwriting your menu
    #   you can change the menu name in .fluxbox/init to:
    #     session.menuFile: /root/.fluxbox/my-menu
    [begin] (Fluxbox-1.0.0)
    [encoding] {UTF-8}
          [exec]   (Run) {fbrun}
    [submenu] (Terminals)
          [exec]   (rxvt) {rxvt}
          [exec]   (xterm) {xterm}
    [end]
    [submenu] (Net)
    [submenu] (Browsers)
          [exec]   (firefox) {firefox}
          [exec]   (mozilla) {mozilla}
          [exec]   (seamonkey) {seamonkey}
          [exec]   (links-graphic) {links -driver x fluxbox.org}
          [exec]   (links) {rxvt -e links fluxbox.org}
          [exec]   (lynx) {rxvt -e lynx fluxbox.org}
    [end]
    [submenu] (IM)
          [exec]   (pidgin) {pidgin}
          [exec]   (skype)  {skype}
    [end]
    [submenu] (Mail)
          [exec]   (thunderbird) {thunderbird}
          [exec]   (mutt) {rxvt -e mutt}
          [exec]   (pine) {rxvt -e pine}
    [end]
    [submenu] (News)
          [exec]   (pan) {pan}
          [exec]   (slrn) {rxvt -e slrn}
          [exec]   (tin) {rxvt -e tin}
    [end]
    [submenu] (IRC)
          [exec]   (xchat) {xchat}
          [exec]   (irssi) {rxvt -e irssi}
    [end]
    [submenu] (FTP)
          [exec]   (filezilla) {filezilla}
          [exec]   (ncftp) {rxvt -e ncftp}
          [exec]   (ftp) {rxvt -e ftp}
          [exec]   (lftp) {rxvt -e lftp}
    [end]
    [submenu] (P2P)
          [exec]   (aMule)  {amule}
          [exec]   (azureus)  {azureus}
    [end]
    [submenu] (Analyzer)
          [exec]   (xnmap) {xnmap}
          [exec]   (nmapfe) {nmapfe}
    [end]
    [end]
    [submenu] (Editors)
          [exec]   (gvim) {gvim}
          [exec]   (evim) {evim}
          [exec]   (vim) {rxvt -e vim}
          [exec]   (vi) {rxvt -e vi}
          [exec]   (xedit) {xedit}
    [end]
    [submenu] (Education)
          [exec]   (gnuplot) {rxvt -e gnuplot}
    [end]
    [submenu] (File utils)
          [exec]   (mc) {rxvt -e mc}
    [end]
    [submenu] (Multimedia)
    [submenu] (Graphics)
          [exec]   (gimp) {gimp}
          [exec]   (gimp-2.2) {gimp-2.2}
          [exec]   (xv) {xv}
          [exec]   (gqview) {gqview}
          [exec]   (xpaint) {xpaint}
          [exec]   (xscreensaver-demo) {xscreensaver-demo}
          [exec]   (xlock) {xlock}
    [end]
    [submenu] (Audio)
          [exec]   (audacious) {audacious}
          [exec]   (alsamixer) {rxvt -e alsamixer}
    [end]
    [submenu] (Video)
          [exec]   (gmplayer) {gmplayer}
    [end]
    [submenu] (X-utils)
          [exec]   (mybashburn) {rxvt -e mybashburn}
          [exec]   (xfontsel) {xfontsel}
          [exec]   (xman) {xman}
          [exec]   (xload) {xload}
          [exec]   (xbiff) {xbiff}
          [exec]   (editres) {editres}
          [exec]   (viewres) {viewres}
          [exec]   (xclock) {xclock}
          [exec]   (xmag) {xmag}
          [exec]   (wmagnify) {wmagnify}
          [exec]   (gkrellm) {gkrellm}
          [exec] (Reload .Xdefaults) {xrdb -load ~/.Xdefaults}
    [end]
    [end]
    [submenu] (Office)
          [exec]   (OpenOffice) {openoffice.org2.4}
          [exec]   (xpdf) {xpdf}
          [exec]   (xclock) {xclock}
          [exec]   (xcalc) {xcalc}
          [exec]   (gv) {gv}
          [exec]   (xfig) {xfig}
    [end]
    [submenu] (Games)
          [exec]   (eboard) {eboard}
          [exec]   (xboard) {xboard}
          [exec]   (xsnow) {xsnow}
          [exec]   (xeyes) {xeyes}
    [end]
    [submenu] (fluxbox menu)
          [config] (Configure)
    [submenu] (System Styles) {Choose a style...}
          [stylesdir] (/usr/share/fluxbox/styles)
    [end]
    [submenu] (User Styles) {Choose a style...}
          [stylesdir] (~/.fluxbox/styles)
    [end]
          [workspaces] (Workspace List)
    [submenu] (Tools)
          [exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center}
          [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg}
          [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png}
          [exec] (Run) {fbrun }
          [exec] (Regen Menu) {../util/fluxbox-generate_menu }
    [end]
          [exec] (Lock screen) {xlock}
          [commanddialog] (Fluxbox Command)
          [reconfig] (Reload config)
          [restart] (Restart)
          [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) 2> /dev/null | xmessage -file - -center}
          [separator]
          [exit] (Exit)
    [end]
    [endencoding]
    [end]
    
The ipswitch script of mine is here as an example.
Back to Index of Running Slackware Linux on ThinkPad T61.

Valid XHTML & CSS|©2008 dOtImes.cOm, All rights reserved.|Creative Commons|Linux on Laptops|TuxMobil|Firefox
Google™ Powered
Posted and Maintained by Cherife Li
Last Update: Sunday, 2008-05-25, 3:42, UTC+8.