Monday 2 January 2023

Suda-SE .ctwmrc

 This is the basic configuration file for the ctwm desktop environment used in the modified version of Suda that I run on my own computers. The text is self explanatory , its based on Thomas Eriksson and Steve Litts original .ctwmrc file found via the xwinman website. This is obviously specific to my setup and you will have to change things that relate to your own home folder, shellscripts you want to run and programs you want to appear in your own menu's.

#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
SaveWorkspaceFocus      # Obviously workspace focus should be retained
#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 section shows the worspaces available in bottom right hand corner default here is four
# Uncomment to have this function
#DontPaintRootWindow
#ShowWorkSpaceManager
#StartInMapState
#workspacemanagergeometry        "260x66-0-0" 4
#MapWindowCurrentWorkSpace {"Red"  "SkyBlue"  "Blue"  #"xpm:ASBBlockGreen.xpm"}
#WorkSpaces {
    #"One"     {"grey" "black" "Blue3" "blue" "xpm:ASBBlockBlue.xpm" }
    #"Two"     {"grey" "green" "black" "blue" "xpm:ASBBlockBlue.xpm" }
    #"Three"   {"grey" "green" "black" "blue" "xpm:ASBBlockBlue.xpm" }
    #"Four" {"grey" "white" "black" "blue" "xpm:ASBBlockBlue.xpm" }
}



# 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"
    PointerForeground "black"
    PointerBackground "white"

}

#
# 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-SE"           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"
"Suda-SE"        f.menu "Suda-SE"
"Utilities"     f.menu "utilities"
"System"    f.menu "system"
#"Spare"   f.menu "spare"
}

menu "files"
{
"Files"        f.title
"PCmanFM"            f.exec "pcmanfm &"
"MC"                f.exec "xterm -e mc &"
}


menu "editors"
{
"Editors"    f.title
"Geany"        f.exec "geany &"
"Vim"        f.exec "xterm -e vim &"
"Mousepad"    f.exec "mousepad &"
}

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
"Abrowser"      f.exec "abrowser &"
"Links2"       f.exec "xterm -bg black -fg white -e links2 &"
#""           f.nop
}


menu "graphics"
{
"Graphics"      f.title
"Screenshot"          f.exec "scrot &"
"Mtpaint"       f.exec "mtpaint &"
}

menu "Multimedia"
{
"Multimedia"            f.title
"Smplayer"    f.exec "/usr/bin/smplayer &"
"Screenrecorder"    f.exec "simplescreenrecorder &"
"Recordmydesktop" f.exec "xterm -e ./recordmydesktop.sh &"
"Mixer"    f.exec "alsamixergui &"
"Webcam"    f.exec "ffplay -i /dev/video0 &"
"Hexcam"    f.exec "./webcamhex.sh &"
 }

menu "Suda"
{
"Glitchify"    f.exec "xsetroot -bg grey"
"Sudacam1"        f.exec "./sudacam1.sh &"
"Sudacam2"        f.exec "./sudacam2.sh &"
"Manifesto"    f.exec "./manifesto.sh"
"NoRandom"    f.exec "xterm -e ./ctwmnorandom.sh &"
}

menu "Suda-SE"
{
"TVM"    f.exec "./tvm.sh & "
"v4l2"    f.exec "./v4l2test.sh &"
"Mantissa" f.exec "./trigger.sh &"
"Displace" f.exec "./desktopdisplace.sh &"
"Background"    f.exec "./background.sh &"
"Processing"    f.exec "/home/crash-stop/processing-3.5.4/processing &"
}

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

}

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"
}



ikillerpulse ( requires tomato.py in working directory)

I've been working on this script for the last week or so. What does it do? It takes an input video/s,  converts to a format we can use f...