Home | History | Annotate | only in /xsrc/external/mit/ctwm/dist
Up to higher level directory
NameDateSize
.bzrignore05-Jul-2023183
add_window.c05-Jul-202362.9K
add_window.h11-Apr-2021969
animate.c05-Jul-20237.7K
animate.h11-Apr-2021450
captive.c11-Apr-202119.8K
captive.h05-Jul-2023655
CHANGES.md05-Jul-202386K
clargs.c05-Jul-20238.7K
clargs.h11-Apr-2021180
clicktofocus.c11-Apr-2021577
clicktofocus.h11-Apr-2021109
client/19-Feb-2026
cmake_files/19-Feb-2026
colormaps.c05-Jul-202315.8K
colormaps.h11-Apr-2021770
COPYRIGHT05-Jul-20234.7K
ctopts.c05-Jul-2023952
ctopts.h11-Apr-2021136
ctwm.105-Jul-2023128.2K
ctwm.h05-Jul-202311K
ctwm_atoms.c05-Jul-2023830
ctwm_atoms.h05-Jul-20231.4K
ctwm_atoms.in11-Apr-2021420
ctwm_config.h05-Jul-20231.5K
ctwm_config.h.in05-Jul-20231.8K
ctwm_main.c05-Jul-202338.3K
ctwm_main.h11-Apr-2021183
ctwm_shutdown.c05-Jul-20237.1K
ctwm_shutdown.h05-Jul-2023233
ctwm_takeover.c05-Jul-20233.9K
ctwm_takeover.h05-Jul-2023152
ctwm_test.h05-Jul-2023552
ctwm_wrap.c11-Apr-202192
cursor.c05-Jul-20237.8K
cursor.h11-Apr-2021351
deftwmrc.c05-Jul-20235.5K
deftwmrc.h11-Apr-2021151
doc/19-Feb-2026
drawing.c11-Apr-20217K
drawing.h11-Apr-2021502
event_core.c05-Jul-20239.4K
event_handlers.c05-Jul-2023106.3K
event_handlers.h11-Apr-2021883
event_internal.h11-Apr-2021742
event_names.c11-Apr-20211.1K
event_names.h11-Apr-2021277
event_names.list11-Apr-2021436
event_names_table.h05-Jul-20231.4K
event_utils.c11-Apr-20216.6K
events.h11-Apr-20211.3K
ewmh.c05-Jul-202357.6K
ewmh.h05-Jul-20232.7K
ewmh_atoms.c05-Jul-20231.1K
ewmh_atoms.h05-Jul-20231.9K
ewmh_atoms.in05-Jul-2023710
ext/19-Feb-2026
functions.c05-Jul-202314.1K
functions.h11-Apr-2021901
functions_captive.c11-Apr-20212K
functions_deferral.h05-Jul-20233.2K
functions_defs.h05-Jul-20235.4K
functions_defs.list05-Jul-20235.2K
functions_dispatch_execution.h05-Jul-20236.6K
functions_icmgr_wsmgr.c11-Apr-20214.6K
functions_identify.c05-Jul-20237.6K
functions_internal.h05-Jul-20234.1K
functions_misc.c05-Jul-20239.5K
functions_parse_table.h05-Jul-20238.1K
functions_warp.c05-Jul-20235.1K
functions_win.c05-Jul-202316.2K
functions_win_moveresize.c05-Jul-202334.9K
functions_workspaces.c11-Apr-20212K
gc.c11-Apr-20213.1K
gc.h11-Apr-2021476
gen/19-Feb-2026
gram.tab.c05-Jul-2023159.8K
gram.tab.h05-Jul-20238.7K
gram.y05-Jul-202329.1K
iconmgr.c05-Jul-202332K
iconmgr.h05-Jul-20232.7K
icons.c05-Jul-202334.9K
icons.h11-Apr-20213K
icons_builtin.c11-Apr-20214.8K
icons_builtin.h11-Apr-2021550
image.c05-Jul-20238K
image.h11-Apr-20211.9K
image_bitmap.c11-Apr-20213.8K
image_bitmap.h11-Apr-2021338
image_bitmap_builtin.c11-Apr-202125.2K
image_bitmap_builtin.h11-Apr-2021432
image_xpm.c11-Apr-20213.1K
image_xpm.h11-Apr-2021180
image_xwd.c11-Apr-20217K
image_xwd.h11-Apr-2021180
list.c05-Jul-20239.2K
list.h11-Apr-20211.4K
Makefile05-Jul-20232.3K
mask_screen.c05-Jul-20236.5K
mask_screen.h11-Apr-2021205
menus.c11-Aug-202342.4K
menus.h05-Jul-20236.1K
mwmhints.c11-Apr-20213.2K
mwmhints.h11-Apr-20212.1K
occupation.c05-Jul-202340.6K
occupation.h11-Apr-20212K
otp.c05-Jul-202344.9K
otp.h11-Apr-20213.1K
parse.c05-Jul-202311.2K
parse.h11-Apr-20211.6K
parse_be.c05-Jul-202357K
parse_be.h05-Jul-20231.2K
parse_int.h11-Apr-2021244
parse_m4.c05-Jul-20237K
parse_yacc.c11-Apr-20214.5K
parse_yacc.h11-Apr-2021683
r_area.c05-Jul-20239.8K
r_area.h05-Jul-2023767
r_area_list.c05-Jul-202311.3K
r_area_list.h05-Jul-20231.3K
r_layout.c05-Jul-202329.6K
r_layout.h05-Jul-20231.9K
r_structs.h05-Jul-20231.4K
README.md05-Jul-20236.1K
screen.h05-Jul-202336.4K
session.c05-Jul-202330.5K
session.h05-Jul-20231.6K
signals.c20-Oct-20232.6K
signals.h05-Jul-2023181
tests/19-Feb-2026
twm_window_struct.h05-Jul-202310.8K
types.h05-Jul-20231.9K
util.c05-Jul-202312.8K
util.h05-Jul-20231.9K
VERSION05-Jul-20236
version.c05-Jul-20231.6K
version.c.in11-Apr-20211.6K
version.h11-Apr-2021836
vscreen.c05-Jul-20239.4K
vscreen.h05-Jul-2023747
win_decorations.c05-Jul-202350.5K
win_decorations.h11-Apr-2021755
win_decorations_init.c11-Apr-20217.9K
win_decorations_init.h11-Apr-2021463
win_iconify.c05-Jul-202314.7K
win_iconify.h11-Apr-2021423
win_ops.c05-Jul-202311.8K
win_ops.h11-Apr-2021414
win_regions.c05-Jul-20236.6K
win_regions.h11-Apr-2021362
win_resize.c05-Jul-202336.4K
win_resize.h11-Apr-20211.4K
win_ring.c05-Jul-20232.1K
win_ring.h05-Jul-2023323
win_utils.c05-Jul-202334K
win_utils.h05-Jul-20231.7K
windowbox.c05-Jul-20234K
windowbox.h11-Apr-2021405
workspace_config.c11-Apr-20214.6K
workspace_config.h11-Apr-2021759
workspace_manager.c05-Jul-202362.3K
workspace_manager.h05-Jul-20231.4K
workspace_structs.h11-Apr-20212.5K
workspace_utils.c05-Jul-202312.7K
workspace_utils.h11-Apr-2021752
xparsegeometry.c05-Jul-20231.5K
xparsegeometry.h05-Jul-2023307
xpm/19-Feb-2026
xrandr.c05-Jul-20232.7K
xrandr.h05-Jul-2023162

README.md

      1 # CTWM
      2 
      3 ## Intro
      4 
      5 ctwm is an extension to twm, originally written by Claude Lecommandeur
      6 that support multiple virtual screens, and a lot of other goodies.
      7 
      8 You can use and manage up to 32 virtual screens called workspaces.  You
      9 swap from one workspace to another by clicking on a button in an
     10 optionnal panel of buttons (the workspace manager) or by invoking a
     11 function.
     12 
     13 You can customize each workspace by choosing different colors, names and
     14 pixmaps for the buttons and background root windows.
     15 
     16 Major features include:
     17 
     18 * Optional 3D window titles and border (ala Motif).
     19 * Shaped, colored icons.
     20 * Multiple icons for clients based on the icon name.
     21 * Windows can belong to several workspaces.
     22 * A map of your workspaces to move quickly windows between
     23    different workspaces.
     24 * Animations: icons, root backgrounds and buttons can be animated.
     25 * Pinnable and sticky menus.
     26 * etc...
     27 
     28 The sources files were once the twm ones only workmgr.[ch] added (written
     29 from scratch by Claude Lecommandeur) and minor modifications to some twm
     30 files.  Since then much more extensive changes and reorganization have
     31 been done, so the codebase is now significantly different from plain twm.
     32 
     33 If you find bugs in ctwm, or just want to tell us how much you like it,
     34 please send a report to the mailing list.
     35 
     36 There is a manual page, which always needs more work (any volunteers?).
     37 Many useful information bits are only in the CHANGES.md file, so please
     38 read it.
     39 
     40 
     41 ## Configuration
     42 
     43 ctwm is build using CMake, which does its best to root around in your
     44 system to find the pieces the build needs.  Occasionally though you might
     45 have to give it some help, or change the defaults of what features are
     46 expected.
     47 
     48 In the common case, the included Makefile will do the necessary
     49 invocations, and you won't need to worry about it; just run a normal
     50 `make ; make install` invocation.  If you need to make alterations
     51 though, you may have to invoke cmake manually and set various params on
     52 the command line (cmake also has various GUI configurators, not covered
     53 here).
     54 
     55 The following parameters control configuration/installation locations:
     56 
     57 CMAKE_INSTALL_PREFIX
     58 :       Where paths are based.  This is a standard cmake var.  Referred
     59         to as `$PREFIX` below.
     60 
     61 ETCDIR
     62 :       Where ctwm will look for a `system.ctwmrc` to fall back to if it
     63         doesn't find a per-user config.  Nothing is installed here by
     64         default.
     65         (default: `$PREFIX/etc`)
     66 
     67 BINDIR
     68 :       Where the ctwm binary is installed.
     69         (default: `$PREFIX/bin`)
     70 
     71 DATADIR
     72 :       Where run-time data like image pixmaps are installed.
     73         (default: `$PREFIX/share/ctwm`)
     74 
     75 MANDIR
     76 :       Base directory under which manpage dirs like `man1` and `man2`
     77         live.
     78         (default: `$PREFIX/share/man` or `$PREFIX/man`, whichever is
     79         found first)
     80 
     81 DOCDIR
     82 :       Where non-manpage docs are installed.
     83         (default: `$PREFIX/share/doc/ctwm`)
     84 
     85 EXAMPLEDIR
     86 :       Where various example files get installed.  These include the
     87         system.ctwmrc that is compiled into ctwm as a fallback.
     88         (default: `$PREFIX/share/examples/ctwm`)
     89 
     90 
     91 The following parameters control the features/external libs that are
     92 available.  The defaults can be changed by passing parameters like
     93 `-DUSE_XYZ=OFF` to the cmake command line.
     94 
     95 USE_M4
     96 :       Enables use of m4(1) for preprocessing config files at runtime.
     97         If your m4 is called something other than `m4` or `gm4`, you may
     98         need to also set M4_CMD to point at it.
     99         (**ON** by default)
    100 
    101 USE_XPM
    102 :       Enables the use of XPM images.  Disable if libxpm isn't present,
    103         which is just barely possible on very old systems.
    104         (**ON** by default)
    105 
    106 USE_JPEG
    107 :       Enables the use of jpeg images via libjpeg.  Disable if libjpeg
    108         isn't present.
    109         (**ON** by default)
    110 
    111 USE_EWMH
    112 :       Enables EWMH support.
    113         (**ON** by default)
    114 
    115 USE_RPLAY
    116 :       Build with sound support via librplay.  `USE_SOUND` is a still
    117         valid but deprecated alias for this, and will give a warning.
    118         (**OFF** by default)
    119 
    120 USE_XRANDR
    121 :       Enables the use of multi-monitors of different sizes via
    122         libXrandr.  Disable if libXrandr isn't present or is older than 1.5.
    123         (**ON** by default)
    124 
    125 
    126 Additional vars you might need to set:
    127 
    128 M4_CMD
    129 :       Name of m4 program, if it's not `m4` or `gm4`, or full path to it
    130         if it's not in your `$PATH`.
    131 
    132 
    133 ## Building
    134 
    135 In the simple case, the defaults should work.  Most modern or semi-modern
    136 systems should fall into this.
    137 
    138     funny prompt> make
    139 
    140 If you need to add special config, you'll have to pass extra bits to
    141 cmake via an invocation like
    142 
    143     funny prompt> make CMAKE_EXTRAS="-DUSE_XPM=OFF -DM4_CMD=superm4"
    144 
    145 Though in more complicated cases it may be simpler to just invoke cmake
    146 directly:
    147 
    148     funny prompt> ( cd build ; cmake -DUSE_XPM=OFF -DM4_CMD=superm4 .. )
    149     funny prompt> make
    150 
    151 ### Required Libs
    152 
    153 ctwm requires various X11 libraries to be present.  That list will
    154 generally include libX11, libXext, libXmu, libXt, libSM, and libICE.
    155 Depending on your configuration, you may require extra libs as discussed
    156 above (libXpm, libjpeg, and libXrandr are included in the default
    157 config).  If you're on a system that separates header files etc. from the
    158 shared lib itself (many Linux dists do), you'll probably need -devel or
    159 similarly named packages installed for each of them as well.
    160 
    161 
    162 
    163 ## Installation
    164 
    165     funny prompt> make install
    166 
    167 ### Packaging
    168 
    169 The CMake build system includes sufficient info for CPack to be used to
    170 build RPM (and presumably, though not tested, DEB) packages.  As a quick
    171 example of usage:
    172 
    173     funny prompt> make
    174     funny prompt> (cd build && cpack -G RPM)
    175 
    176 
    177 ## Dev and Support
    178 
    179 ### Mailing list
    180 
    181 There is a mailing list for discussions: <ctwm (a] ctwm.org>.  Subscribe by
    182 sending a mail with the subject "subscribe ctwm" to
    183 <minimalist (a] ctwm.org>.
    184 
    185 ### Repository
    186 
    187 ctwm development uses breezy (see <https://www.breezy-vcs.org/>) for
    188 version control.  The code is available on launchpad as `lp:ctwm`.  See
    189 <https://launchpad.net/ctwm> for more details.
    190 
    191 
    192 ## Further information
    193 
    194 Additional information can be found from the project webpage, at
    195 <https://www.ctwm.org/>.
    196 
    197 
    198 {>>
    199  vim:expandtab:ft=markdown:
    200 <<}
    201