Skip to main content

Trisquel .ctwmrc

*Note as stated previously for ctwm to function correctly its needed to install ctwm via 'sudo apt install ctwm' on Trisquel and add a text file called ctwm.desktop as root ( or via sudo ) to /usr/share/xsessions. This can be done by doing 'sudo touch /usr/share/xsessions/ctwm.desktop then opening that blank file as root either using nano or mousepad( in lxde) or your text editor of choice so ' sudo mousepad /usr/share/xsessions/ctwm.desktop ' then add these lines

[Desktop Entry]
Version=1.0
Type=Application
Name=CTWM
Comment=Claude's Tab Window Manager for the X Window System
Exec=ctwm
Icon=ctwm
Terminal=false
StartupNotify=false
Categories=Application;

save the file and exit then add the configuration file below into the users home folder. Its a hidden file when saved as .ctwmrc so to edit it either unhide hidden files from a file manager such as pcmanfm or just do ' nano .ctwmrc' from a terminal opened in the home folder of the user or even from a terminal anywhere 'nano /home/username/.ctwmrc' .

The configuration file below does not include the recent modifications to suda-xdotool-test-2.sh to the version which seeks for vim and gains focus, though this could be added by changing the menu items in a text editor as the configuration file is fully and simply editable using any text editor like nano, mousepad or geany ( though avoid ones which can alter the character encoding of the file on saving).

#Modified .ctwmrc based on the work of those mentioned below - Thomas Eriksson and STEVE LITT

# $XConsortium: system.twmrc,v 1.8 91/04/23 21:10:58 gildea Exp $
#
# A little $HOME/.twmrc by Thomas Eriksson brummelufs@hotmail.com
#
# Modified (just colors and some menu options) by Istvan Keppler keppler@lajli.gau.hu
#
#   twm... the original and the best...
#

#---------------------------------------------------------
# EMERGENCY
# This line is here so that U will be able 2 restart CTWM
# even if the rest of the file doesn't work very well!
# To restart in emergency press shift and F9 !
#---------------------------------------------------------

"F9" = s : r|w|t|m|f : f.twmrc  #shift "L2": source .ctwmrc
#---------------------------------------------------------

NoGrabServer
#NoDefaults
RestartPreviousState
DecorateTransients
TitleFont "-*-unifont-medium-*-normal-*-*-*-*-*-*-*-*-15"
ResizeFont "-*-unifont-medium-*-normal-*-*-*-*-*-*-*-*-15"
MenuFont "-*-unifont-medium-*-normal-*-*-*-*-*-*-*-*-15"
IconFont "-*-unifont-medium-*-normal-*-*-*-*-*-*-*-*-15"
IconManagerFont "-*-unifont-medium-*-normal-*-*-*-*-*-*-*-*-15"
#ClientBorderWidth 2
BorderWidth 3
ButtonIndent 2
NoHighlight
AutoRelativeResize
#DefaultBackground
FramePadding 0
#ForceIcons
NoRaiseOnMove
OpaqueMove
Zoom 500

######## BEGIN STEVE LITT'S MODERNIZATTION SETTINGS #########
ClickToFocus            # Prevent mouse movement changing focus
RaiseOnClick            # Window rises when clicked
RaiseOnClickButton 1    # When clicked with button 1, that is.
UsePPosition "on"       # Help kbd instantiated windows get focus
RandomPlacement "on"    # Help kbd instantiated windows get focus
AutoFocusToTransients   # Help kbd instantiated windows get focus
#WindowRing              # Enable Alt+Tab type window circulation
#WarpRingOnScreen        # Enable Alt+Tab type window circulation
IgnoreCaseInMenuSelection # Make menus much easier via keyboard
ShortAllWindowsMenus    # Don't show iconmgr and workspace mgr in lists

########  END  STEVE LITT'S MODERNIZATION SETTINGS #########    

#---------------------------------------------------------

#---------------------------------------------------------
# PIXMAP CONFIG and
# PIXMAPS
#---------------------------------------------------------

PixmapDirectory          "/usr/share/ctwm/images"    # dir. for xpms

Pixmaps
{
    #TitleHighLight "xpm:blue4.xpm"
}
{
# ---------------
# Managers
# ---------------
# this section for bars on right side showing open or minimised windows like taskbar in win or |#lxde  
ShowIconManager
SortIconManager
IconManagerGeometry    "64x128-0+0" 1


}


# This is for hiding the ugly menubar in windows who dont need em.
NoTitle
{
     # "xosview"
}

Color
{
    BorderColor "gray85"
    DefaultBackground "black"
    DefaultForeground "gray85"
    TitleBackground "black"
    TitleForeground "gray85"
    MenuBackground "black"
    MenuForeground "gray85"
    MenuTitleBackground "gray65"
    MenuTitleForeground "black"
    IconBackground "black"
    IconForeground "white"
    IconBorderColor "black"
    IconManagerBackground "black"
    IconManagerForeground "gray85"
    
}

#
# Define some useful functions for motion-based actions.
#
MoveDelta 1
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }

#
# Set some useful bindings.  Sort of uwm-ish, sort of
# simple-button-ish
#
Button1 = : root : f.menu "prg"
Button2 = : root : f.delete
Button3 = : root : f.menu "window"

Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"

Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button3 = : title : f.iconify

Button1 = : icon : f.function "move-or-iconify"
#Button2 = : icon : f.destroy
Button3 = : icon : f.iconify

Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.destroy
Button3 = : iconmgr : f.iconify

#........................................................................#
# This is for the buttons in the window bar


LeftTitleButton     ":xlogo" = f.delete

#........................................................................#

#
# And a menus with the usual things
# Add Item here then follow structure after this section if you want to add other sections
menu "prg"
{
"Suda"           f.title
#""        f.nop
"Xterm"         f.exec "xterm -sl 255 -bg black -fg white -name xterm@twm.org &"
"Lxterminal"    f.exec "lxterminal &"
"Xosview"        f.exec "xosview &"
"Abrowser"      f.exec "abrowser &"
""              f.nop
"Files"        f.menu "files"
"Editors"    f.menu "editors"
"Internet"      f.menu "internet"
"Graphics"      f.menu "graphics"
"Viewers"    f.menu "viewers"
"Multimedia"    f.menu "Multimedia"
"Suda"        f.menu "Suda"
"Utilities"     f.menu "utilities"
"System"    f.menu "system"
#"Spare"   f.menu "spare"
}

menu "files"
{
"Files"        f.title
"Midnight Commander"        f.exec "xterm -sl 255 -bg black -fg white -e mc -b &"
"PCmanFM"            f.exec "pcmanfm &"
}


menu "editors"
{
"Editors"    f.title 
"Xedit"        f.exec "xedit &"
"Geany"        f.exec "geany &"
}

menu "system"
{
"System"     f.title
"Top"        f.exec "xterm -bg black -fg white -e top &"
}

menu "viewers"
{
"Viewers"    f.title
"Gpicview"    f.exec "gpicview &"
}
menu "internet"
{
"Internet"    f.title
"Net Connect" f.exec "nm-connection-editor &"
"Abrowser"      f.exec "abrowser -geometry 800x700 &"
"Lynx"       f.exec "xterm -bg black -fg white -e lynx &"
#""           f.nop
}


menu "graphics"
{
"Graphics"      f.title
"Screenshot"    f.exec "scrot &"
"Xfont-sel"        f.exec "xfontsel &"
"Mtpaint"       f.exec "mtpaint &"
}

menu "Multimedia"
{
"Multimedia"            f.title
"Alsamixer"    f.exec "xterm -e alsamixer &"
"SMplayer"    f.exec "/usr/bin/smplayer &"
"Audacious"       f.exec "audacious &"

 }

menu "Suda"
{
"Glitchify"     f.exec "./glitchify.sh"
"Sudacam1"        f.exec "./sudacam1.sh &"
"Sudacam2"        f.exec "./sudacam2.sh &"
"Manifesto"        f.exec "./manifesto.sh &"
}

menu "utilities"
{
"Utilities"      f.title
"Xfontsel"        f.exec "xfontsel -rv &"
"Xclock"     f.exec "xclock -digital &"
"Xcalc"        f.exec "xcalc -rv &"

}

menu "window"
{
"X Windows"      f.title
"Kill Window"    f.destroy
"Delete Window"  f.delete
""               f.nop
"Maximize"       f.fullzoom
"Minimize"       f.iconify
#"Resize"         f.resize
"Move"           f.move
#"Raise"          f.raise
#"Lower"          f.lower
""               f.nop
"Focus"          f.focus
"Unfocus"        f.unfocus
"Show Iconmgr"   f.showiconmgr
"Hide Iconmgr"   f.hideiconmgr
""               f.nop
#"Screensaver"    f.menu "xscreensaver" 
"Redraw"         f.refresh
"Restart"        f.restart
"Quit"           f.menu "quit"
}

menu "quit"
{
"Really Quit?"     f.title
"No"               f.nop
"Yes"              f.quit
}

#menu "spare"
{

}

Icons
{
     #"XTerm"   "/usr/share/ctwm/images/term.xpm"
    
}

Cursors
{
                         Frame     "left_ptr"
                         Title     "left_ptr"
                         Icon      "left_ptr"
                         IconMgr   "left_ptr"
                         Move      "fleur"
                         Resize    "fleur"
                         Menu      "hand1"
                         Button    "hand2"
                         Wait      "clock"
                         Select    "dot"
                         Destroy   "pirate"
}