Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.
Notices
Welcome to
LinuxQuestions.org , a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free.
Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please
contact us . If you need to reset your password,
click here .
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a
virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month.
Click here for more info.
11-05-2023, 06:01 AM
#1
Member
Registered: Feb 2022
Posts: 72
Rep:
Who still uses CTWM as WM ?
Hello !
Who still uses CTWM today as WM ?
Probably some BSDs users?
Kind regards,
Op.
my ~/.ctwmrc
(requires ctwm, m4 packages)
It works on whatever, linux, bsd...
Code:
# Remod like flevilwm
WorkSpaces {
"One" {"#686B9F" "white" "DeepSkyBlue3" "white" "xpm:background8.xpm" }
"Two" {"#686B9F" "white" "firebrick" "white" "xpm:background1.xpm" }
"Three" {"#727786" "white" "DarkBlue" "white" "xpm:background3.xpm" }
"Four" {"#8C5b7A" "white" "MidnightBlue" "white" }
"Five" {"#686B9F" "white" "DeepSkyBlue3" "white" "xpm:background8.xpm" }
"Six" {"#686B9F" "white" "firebrick" "white" "xpm:background1.xpm" }
"Seven" {"#727786" "white" "DarkBlue" "white" "xpm:background3.xpm" }
"Eight" {"#8C5b7A" "white" "MidnightBlue" "white" }
}
Color
{
BorderColor "Red"
DefaultBackground "blue"
DefaultForeground "gray85"
}
# NoDefaults
"r" = m4 : all :!" cd ; flcommand & "
"t" = m4 : all :!" cd ; env TZ=Europe/Amsterdam kicker & "
"x" = m4 : all :!" xterm -fs 15 -fa 15 -bg black -fg yellow & "
"c" = m4 : all :!" xterm -fs 15 -fa 15 -bg black -fg yellow & "
# "f" = m4 : all :!" links -g google.com & "
"a" = m4 : window : f.fullzoom
"w" = m4 : window : f.delete
# "r" = m4 : window : f.restart
"1" = m4 : all : f.gotoworkspace "One"
"2" = m4 : all : f.gotoworkspace "Two"
"3" = m4 : all : f.gotoworkspace "Three"
"4" = m4 : all : f.gotoworkspace "Four"
"5" = m4 : all : f.gotoworkspace "Five"
"6" = m4 : all : f.gotoworkspace "Six"
"7" = m4 : all : f.gotoworkspace "Seven"
"8" = m4 : all : f.gotoworkspace "Eight"
Button1 = : title : f.move
Button1 = m : window : f.move
Button3 = m : window : f.resize
RandomPlacement "on"
# RaiseOnClick
# ClickToFocus
AutoRelativeResize # intelligent resizing => easier
Color
{
BorderColor "Red"
DefaultBackground "blue"
DefaultForeground "gray85"
BorderTileBackground "DeepSkyBlue1" {
"xterm" "DeepSkyBlue3"
}
BorderTileForeground "Black" {
"xterm" "DeepSkyBlue3"
}
TitleBackground "DeepSkyBlue1" {
"xterm" "DeepSkyBlue3"
}
TitleForeground "Black" {
"xterm" "White"
}
MenuBackground "#686B9F"
MenuForeground "white"
MenuTitleBackground "gray70"
MenuTitleForeground "White"
IconBackground "LightSlateBlue"
IconForeground "White"
IconBorderColor "gray85"
IconManagerBackground "DeepSkyBlue1" {"Axe" "DeepSkyBlue3" "xload" "DeepSkyBlue2"}
IconManagerForeground "Black"
MapWindowBackground "DeepSkyBlue1" {
"root*" "Red"
"xterm" "DeepSkyBlue3"
"Axe" "Yellow"
}
MapWindowForeground "Black" {
"xterm" "White"
}
}
NoOpaqueMove
NoOpaqueResize
### NEW AREA
Button3 = : title : f.menu "Menuwin"
# HideWorkSpaceManager # start with workspace manager up
WorkSpaceManagerGeometry "360x60+60-0" 4
menu "Menuwin" {
"Window Menu" f.title
"Pin menu" f.pin
"" f.separator
"Info..." f.identify
"Resize" f.resize
"Move" f.move
"Focus" f.focus
"Occupy All" f.occupyall
"Close" f.delete
"Kill" f.destroy
"" f.separator
"Show WorkSpace Manager" f.showworkspacemgr
"Hide WorkSpace Manager" f.hideworkspacemgr
"" f.separator
"Show Icon Manager" f.showiconmgr
"Hide Icon Manager" f.hideiconmgr
"" f.separator
}
--
CTWM
Rel. 23.02
Manjaro-ARM-minimal-pbpro-23.02.img.xz
Running out of SDMMC card.
Last edited by openbsd98324; 11-13-2023 at 01:23 AM .
11-05-2023, 07:01 AM
#2
LQ Guru
Registered: Sep 2011
Location: Upper Hale, Surrey/Hants Border, UK
Distribution: Mainly Devuan, antiX, & Void, with Tiny Core, Fatdog, & BSD thrown in.
Posts: 5,510
Rep:
Last time I installed NetBSD, CTWM was the default, which I found to be quite easy to use, so kept it as my WM on NetBSD.
11-05-2023, 11:50 AM
#3
Member
Registered: Jul 2003
Location: NY
Distribution: Slackware, Termux
Posts: 795
I used to use it back in the day, along with other "less is more" WMs like MWM. I'm not sure it will compile here anymore. I have a Minix3 guest with TWM.
11-06-2023, 08:58 AM
#4
Member
Registered: Nov 2008
Location: US
Distribution: slackware
Posts: 706
I bounce between fvwm, ctwm, cwm and fluxbox depending on my mood. But ctwm works very well for me.
This
unixporn reddit shows my setup on NetBSD, it is very similar to what I have on Slackware 15.
On Slackware I do not have xconsole(1) active and use wmsystemtray for my tray.
But now my usual dig at Wayland when these threads comes up
A lot of cool X utilities and Window Managers will be gone when RHEL and friends force Wayland on us like the did/doing with systemd.
It is almost like this
youtube from Blade Runner. Once RHEL and friends eliminate X11, a lot of cool little applications will be gone.
Just a few from memory:
xfisktank
lavaps
bfm (bubblefishymon)
11-13-2023, 01:22 AM
#5
Member
Registered: Feb 2022
Posts: 72
Original Poster
Rep:
Quote:
Originally Posted by
jmccue
I bounce between fvwm, ctwm, cwm and fluxbox depending on my mood. But ctwm works very well for me.
This
unixporn reddit shows my setup on NetBSD, it is very similar to what I have on Slackware 15.
On Slackware I do not have xconsole(1) active and use wmsystemtray for my tray.
But now my usual dig at Wayland when these threads comes up
A lot of cool X utilities and Window Managers will be gone when RHEL and friends force Wayland on us like the did/doing with systemd.
It is almost like this
youtube from Blade Runner. Once RHEL and friends eliminate X11, a lot of cool little applications will be gone.
Just a few from memory:
xfisktank
lavaps
bfm (bubblefishymon)
You can still use FLTK? X11 Xorg will be maintained by BSD planet. Linux goes Wayland, and you can forget too ssh -X -C ... and many other cool things.
To keep X11 apps to runn, sure, it is our history.
here ctwm with fltk ..
11-19-2023, 03:14 PM
#6
Member
Registered: Nov 2017
Distribution: Kernel+busybox+ssh+vnc+alsa (framebuffer)
Posts: 201
Rep:
X comes with twm by default I believe. Very similar to ctwm but where you press/drag rather than click for the menu.
Once you're used to the open .. to see a grid of the window that will be placed onto the desktop, so drag it to where you want it and click to drop it onto the desktop, along with resizing windows by first positioning the bottom corner to where you want that, and then drag the window to the size you like .. and its quite nice IMO. For resizing you click the resize icon and have to drag the mouse first into the window, and then out in the direction that you want to resize the window. Easier to do than describe.
For that, changing the default title icons to use SqueezeTitle and redefine the positions, I like the resize at the far left, iconify next to that, then then window title, followed by the close (destroy) icon. Don't bother with the IconManager, just iconify and restore individual windows.
So including something like (from memory, so syntax might not be precise)
NoIconManagers
SqueezeTitle
NoDefaults
LeftTitleButton ":resize" = f.resize
LeftTitleButton ":iconify" = f.iconify
RightTitleButton ":delete" = f.delete
Should also work in .ctwmrc
With the squashed titles (tabs) you can place them alongside each other. Or when a window is maximised then the tab title still has some desktop space showing to the right of the tab so you can click that for the main twm menu to pop up.
12-03-2023, 05:57 PM
#7
Member
Registered: Feb 2022
Posts: 72
Original Poster
Rep:
A look of year 1998
based on CTWM, very light, with fltk lib.
.ctwmrc with pixmaps...
Code:
# Remod like flevilwm
# Appended win98 theme...
# blue xsetroot -solid '#3A6EA5'
WorkSpaces {
"One" {"#3A6EA5" "white" "#3A6EA5" "white" }
"Two" {"#3A6EA5" "white" "#3A6EA5" "white" }
"Three" {"#3A6EA5" "white" "#3A6EA5" "white" }
"Four" {"#3A6EA5" "white" "#3A6EA5" "white" }
# "One" {"#686B9F" "white" "DeepSkyBlue3" "white" "xpm:background8.xpm" }
# "Two" {"#686B9F" "white" "firebrick" "white" "xpm:background1.xpm" }
# "Three" {"#727786" "white" "DarkBlue" "white" "xpm:background3.xpm" }
# "Four" {"#8C5b7A" "white" "MidnightBlue" "white" }
"Five" {"#686B9F" "white" "DeepSkyBlue3" "white" "xpm:background8.xpm" }
"Six" {"#686B9F" "white" "firebrick" "white" "xpm:background1.xpm" }
"Seven" {"#727786" "white" "DarkBlue" "white" "xpm:background3.xpm" }
"Eight" {"#3A6EA5" "white" "#3A6EA5" "white" }
# "Eight" {"#8C5b7A" "white" "MidnightBlue" "white" }
}
Color
{
BorderColor "Red"
DefaultBackground "blue"
DefaultForeground "gray85"
}
# NoDefaults
"r" = m4 : all :!" cd ; flcommand & "
"e" = m4 : all :!" cd ; flm & "
"t" = m4 : all :!" cd ; env TZ=Europe/Amsterdam kicker & "
# "e" = m4 : all :!" cd ; rox & "
# "l" = m4 : all :!" cd ; fledit & "
"x" = m4 : all :!" xterm -fs 15 -fa 15 -bg black -fg yellow & "
"c" = m4 : all :!" xterm -fs 15 -fa 15 -bg black -fg yellow & "
"XF86AudioLowerVolume" = : all :!" amixer -c 0 sset DAC 3- & "
"XF86AudioRaiseVolume" = : all :!" amixer -c 0 sset DAC 3+ & "
"a" = m4 : window : f.fullzoom
"w" = m4 : window : f.delete
"u" = m4 : window : f.restart
"1" = m4 : all : f.gotoworkspace "One"
"2" = m4 : all : f.gotoworkspace "Two"
"3" = m4 : all : f.gotoworkspace "Three"
"4" = m4 : all : f.gotoworkspace "Four"
"5" = m4 : all : f.gotoworkspace "Five"
"6" = m4 : all : f.gotoworkspace "Six"
"7" = m4 : all : f.gotoworkspace "Seven"
"8" = m4 : all : f.gotoworkspace "Eight"
Button1 = : title : f.move
Button1 = m : window : f.move
Button3 = m : window : f.resize
RandomPlacement "on"
# RandomPlacement "on"
# RaiseOnClick
# ClickToFocus
AutoRelativeResize # intelligent resizing => easier
# Color
# {
# BorderColor "Red"
# DefaultBackground "blue"
# DefaultForeground "gray85"
# BorderTileBackground "DeepSkyBlue1" {
# "xterm" "DeepSkyBlue3"
# }
# BorderTileForeground "Black" {
# "xterm" "DeepSkyBlue3"
# }
# TitleBackground "DeepSkyBlue1" {
# "xterm" "DeepSkyBlue3"
# }
# TitleForeground "Black" {
# "xterm" "White"
# }
# MenuBackground "#686B9F"
# MenuForeground "white"
# MenuTitleBackground "gray70"
# MenuTitleForeground "White"
# IconBackground "LightSlateBlue"
# IconForeground "White"
# IconBorderColor "gray85"
# IconManagerBackground "DeepSkyBlue1" {"Axe" "DeepSkyBlue3" "xload" "DeepSkyBlue2"}
# IconManagerForeground "Black"
# MapWindowBackground "DeepSkyBlue1" {
# "root*" "Red"
# "xterm" "DeepSkyBlue3"
# "Axe" "Yellow"
# }
# MapWindowForeground "Black" {
# "xterm" "White"
# }
# }
#
NoOpaqueMove
NoOpaqueResize
### NEW AREA
Button3 = : title : f.menu "Menuwin"
# HideWorkSpaceManager # start with workspace manager up
WorkSpaceManagerGeometry "360x60+60-0" 4
menu "Menuwin" {
"Window Menu" f.title
"Pin menu" f.pin
"" f.separator
"Info..." f.identify
"Resize" f.resize
"Move" f.move
"Focus" f.focus
"Occupy All" f.occupyall
"Close" f.delete
"Kill" f.destroy
"" f.separator
"Show WorkSpace Manager" f.showworkspacemgr
"Hide WorkSpace Manager" f.hideworkspacemgr
"" f.separator
"Show Icon Manager" f.showiconmgr
"Hide Icon Manager" f.hideiconmgr
"" f.separator
"Send to One" f.function "toone"
"Send to Two" f.function "totwo"
"Send to Three" f.function "tothree"
"Send to Four" f.function "tofour"
"" f.separator
}
NoTitle {
"fspanel"
"lxpanel"
"panel"
"kicker"
"tint2"
}
NoBorder {
"fspanel"
"lxpanel"
"panel"
"kicker"
"tint2"
}
##############
############## THEME WIN98 ######################
##############
# // ls .themes/win98/
# // blue4.xpm kill.xpm winmaximize.xpm winminimize.xpm x.xpm
#UseThreeDTitles
NoDefaults # not use default buttons
PixmapDirectory "~/.themes/win98/" # dir. for xpms
Pixmaps
{
TitleHighLight "xpm:blue4.xpm"
}
TitleButtonShadowDepth 1
TitleShadowDepth 1
TitleButtonBorderWidth 0
TitlePadding 3 # frame around TBobjects?
ButtonIndent 0 # indentated TBbuttons?
FramePadding 3 # frame around TB?
TitleJustification "left" # right/left/center
RightTitleButton "xpm:winminimize.xpm" = f.iconify
RightTitleButton "xpm:winmaximize.xpm" = f.fullzoom
RightTitleButton "xpm:kill.xpm" = f.delete
LeftTitleButton "xpm:x.xpm" = f.menu "TMenu"
Color
{
BorderColor "gray65" # optional windowlist
# {
# "emacs" "#009900"
# "Netscape" "cyan4"
# }
DefaultBackground "grey70"
DefaultForeground "Black"
TitleBackground "#818181"
# { # optional windowlist
# "Netscape" "DarkBlue"
# "emacs" "DarkSlateGray"
# "xfig" "#80CCF8"
# }
TitleForeground "white"
# { # optional windowlist
# "Netscape" "Yellow"
# "emacs" "Wheat"
# "xfig" "black"
# }
BorderTileBackground "gray80" # optional windowlist
# {
# "Netscape" "#B0B0B0"
# "emacs" "DarkSlateGray"
# }
MenuBackground "gray80"
MenuForeground "black"
MenuTitleBackground "gray65"
MenuTitleForeground "gray20"
MenuShadowColor "gray15" # default is black
IconBackground "Black"
# { # optional winlist
# "Netscape" "Blue"
# }
IconForeground "White"
# { # optional winlist
# "Netscape" "Yellow"
# }
IconBorderColor "gray45"
# { # optional winlist
# "Netscape" "Blue"
# }
IconManagerBackground "gray80"
{ # optional winlist
# "Netscape" "DarkBlue"
# "emacs" "#000020"
# "*pdf*" "Red"
# "*xmms*" "Gray20"
# "*pine*" "black"
# "*lysator*" "lemonchiffon"
# "*vmware*" "white"
}
IconManagerForeground "black"
{ # optional winlist
# "Netscape" "Yellow"
# "emacs" "lemonchiffon"
# "*pdf*" "White"
# "*xmms*" "#0068d0"
# "*pine*" "green"
# "*lysator*" "black"
# "*wmware*" "DarkSlateGray"
}
# IconManagerHighlight "yellow"
# { # optional winlist
# "Netscape" "Blue"
# }
MapWindowBackground "gray65" # BGcol for WSMwins
# { # optional winlist
# }
MapWindowForeground "Black" # FGcol for WSMwins
# { # optional winlist
# }
}
WMgrHorizButtonIndent 0 # /dist. between buttons
WMgrVertButtonIndent 0 # \when in button mode
#DecorateTransients # give transients TB
#TransientHasOccupation # ..uhh? Try it! What is it?
#TransientOnTop # Put transients top when they appear
#AutoFocusToTransients # Give transients autofocus.
Monochrome
{
BorderColor "black"
BorderTileForeground "black"
BorderTileBackground "white"
TitleForeground "black"
TitleBackground "white"
MenuTitleForeground "black"
MenuTitleBackground "white"
MapWindowForeground "white"
MapWindowBackground "white"
}
# MenuFont "-b&h-lucida-medium-r-normal-sans-12-120-75-75-p-71-iso8859-1"
# TitleFont "-adobe-helvetica-bold-r-normal--12*"
# IconManagerFont "-b&h-lucida-medium-r-normal-sans-12-120-75-75-p-71-iso8859-1"
# IconFont "fixed"
# ResizeFont "-adobe-helvetica-bold-r-normal--10*"
# WorkSpaceFont "fixed"
##############
##############
##############
##############
# TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
# ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
# MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
# IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
# IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
# x11 position
UsePPosition "on"
### Move current window to another workspace.
Function "toone"
{
f.addtoworkspace "One"
f.removefromworkspace "Two"
f.removefromworkspace "Three"
f.removefromworkspace "Four"
f.removefromworkspace "5"
f.removefromworkspace "6"
f.removefromworkspace "7"
f.removefromworkspace "8"
f.removefromworkspace "9"
}
Function "totwo"
{
f.removefromworkspace "One"
f.addtoworkspace "Two"
f.removefromworkspace "Three"
f.removefromworkspace "Four"
f.removefromworkspace "5"
f.removefromworkspace "6"
f.removefromworkspace "7"
f.removefromworkspace "8"
f.removefromworkspace "9"
}
Function "tothree"
{
f.removefromworkspace "One"
f.removefromworkspace "Two"
f.addtoworkspace "Three"
f.removefromworkspace "Four"
f.removefromworkspace "5"
f.removefromworkspace "6"
f.removefromworkspace "7"
f.removefromworkspace "8"
f.removefromworkspace "9"
}
Function "tofour"
{
f.removefromworkspace "One"
f.removefromworkspace "Two"
f.removefromworkspace "Three"
f.addtoworkspace "Four"
f.removefromworkspace "4"
f.removefromworkspace "5"
f.removefromworkspace "6"
f.removefromworkspace "7"
f.removefromworkspace "8"
f.removefromworkspace "9"
}
### Send windows to other workspaces.
# "o" = m4 : all : f.function "toone"
# "p" = m4 : all : f.function "totwo"
# "u" = m4 : window : f.restart
BorderWidth 2
BorderResizeCursors
# exp.
StayUpMenus
# BIG BORDERS
UseThreeDBorders # More glanceable
BorderWidth 6
ThreeDBorderWidth 6
TitleButtonBorderWidth 2 # Put space between titlebar buttons
Button1 = : f : f.resize
All times are GMT -5. The time now is 06:36 AM .
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know .
Latest Threads
LQ News