From 832a12b5bf34e9389d93f81fd3932c447ae4b55d Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Thu, 9 Apr 2026 03:30:06 -0600 Subject: [PATCH 1/6] CrosshairCursor@BMarkley: Initial Release This is a crosshair that follows your mouse on the screen, to be used as a productivity and accessibility tool. Loosely based on oneko. The source code for the executable can be found on the project page at /BMarkley/CrosshairCursor/ --- CrosshairCursor@BMarkley/README.md | 86 +++++++++ .../CrosshairCursor@BMarkley/CCScript.sh | 9 + .../CrosshairCursor/CrosshairCursor | Bin 0 -> 54672 bytes .../files/CrosshairCursor@BMarkley/applet.js | 91 +++++++++ .../files/CrosshairCursor@BMarkley/icon.png | Bin 0 -> 4750 bytes .../icons/CrosshairCursorRunning.png | Bin 0 -> 4750 bytes .../icons/CrosshairCursorStopped.png | Bin 0 -> 4751 bytes .../lib/mainloopTools.js | 179 ++++++++++++++++++ .../CrosshairCursor@BMarkley/lib/to-string.js | 4 + .../CrosshairCursor@BMarkley/metadata.json | 7 + .../po/CrosshairCursor@BMarkley.pot | 30 +++ CrosshairCursor@BMarkley/info.json | 3 + CrosshairCursor@BMarkley/screenshot.png | Bin 0 -> 181554 bytes 13 files changed, 409 insertions(+) create mode 100644 CrosshairCursor@BMarkley/README.md create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CCScript.sh create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/icon.png create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/icons/CrosshairCursorRunning.png create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/icons/CrosshairCursorStopped.png create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/lib/mainloopTools.js create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/lib/to-string.js create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/metadata.json create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/po/CrosshairCursor@BMarkley.pot create mode 100644 CrosshairCursor@BMarkley/info.json create mode 100644 CrosshairCursor@BMarkley/screenshot.png diff --git a/CrosshairCursor@BMarkley/README.md b/CrosshairCursor@BMarkley/README.md new file mode 100644 index 00000000000..ac5e6cd9a97 --- /dev/null +++ b/CrosshairCursor@BMarkley/README.md @@ -0,0 +1,86 @@ +# ![materials](files/CrosshairCursor@BMarkley/icon.png) CrosshairCursor Cinnamon Applet ![materials](files/CrosshairCursor@BMarkley/icons/CrosshairCursorStopped.png) +Changes your mouse cursor into a crosshairs that can be used as a productivity or assistive tool. + + +![materials](screenshot.png) + +## Crosshair Cursor - Creates a Crosshair window that follows your cursor. +By Brian Markley PENG RSE + +### Description +Changes your mouse cursor into a crosshairs that can be used as a productivity or +assistive tool. +The CCScript.sh in the applet directory + ~/.local/share/cinnamon/CrosshairCursor@BMarkley/ +can be modified to add options to the program like changing the colour or style of +the crosshairs + +### Dependencies +X Window System +X11 shape extension +based on the oneko cat program, so oneko package dependecies are likely all needed: +libc6(>=2.4) +libx11-6 +libxext6 +psmisc + +### Release +Currently in the process of being released as an applet on Linux Mint cinnamon. +Included is a compiled copy of the code which runs on my system. +I think it should be portable to other 64bit systems, but I do not know. + +The applet can be manually compiled or installed by following directions on the +/Bmarkley/CrosshairCursor/ Github page. + +### Cinamon Applet +The precompiled release is already included in the applet. If you want to use a custom compiled version +source code is available at the /BMarkley/CrosshairCursor github page +please add it to the /applet/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor folder +The applet can be installed by running the "test-spice" script found in the applet folder. +This will install the applet in + ~/.local/share/cinnamon/applets/CrosshairCursor@BMarkley/CrosshairCursor. +You can then activate the applet in the cinamon applet menu, by write clicking a panel and +selecting "applets". +Custom options can be run with the applet by modifying the script CCScript.sh +found in the applet folder. You may need to make this script and the program executable, +though the applet.js file should do that for you. + ~/.local/share/cinnamon/applets/CrosshairCursor@BMarkley/CrosshairCursor. + +### Usage +When run without options a light-grey and black fullscreen Crosshair will follow the mouse + +Usage can change with options, such as crosshair size, vertical only, horizontal +only, Fixed locations, colours, etc. + +"Options are:", +"-h or -help : display this helpful message.", +"-fg [color] : foreground color.", +"-bg [color] : background/outline color.", +"-nobg : no-background.", +"-rv : invert colours.", +"-offset [geometry] : set x and y offset ex: +2-12.", +"-position [geometry] : set fixed x and y position. ex: 960x540.", +"-width : set the width of the cursor.", +"-height : set the height of the cursor.", +"-horizontal : horizontal Line only.", +"-vertical : vertical line only.", +"-time : time between updates in microseconds.", +"-display : name of display to draw window to.", +"-name : name of process.", +"-sync : puts you in synchronous mode.", + +### Special Thanks +CrosshairCursor is written by Brian Markley PENG RSE after a code review of oneko +and the oneko-toggle applet for cinamon desktop. + +Original oneko program written by Masayuki Koba, and Modified by +Tatsuya Kato (kato@ntts.co.jp) + +oneko-toggle applet is written by kusch31 + +### Testing and bug reports +I have only tested this on one computer. My home system running +Linux Mint 22.3 +Cinamon 6.6.7 + +Please submit all issues to the Github page /Bmarkley/CrosshairCursor. diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CCScript.sh b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CCScript.sh new file mode 100644 index 00000000000..53081a954ae --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CCScript.sh @@ -0,0 +1,9 @@ +#!/bin/bash +if pgrep -x "CrosshairCursor" > /dev/null +then + pkill -x CrosshairCursor + sleep 0.2 +else + ~/.local/share/cinnamon/applets/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor -fg lightgrey -bg black & + sleep 0.2 +fi diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor new file mode 100644 index 0000000000000000000000000000000000000000..8771dea9a3f9037c8cc6ff1081caaace8b240358 GIT binary patch literal 54672 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 U{p8-`@z=d1`M;FLkOs2<2gY!=^8f$< literal 0 HcmV?d00001 diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js new file mode 100644 index 00000000000..1c32dbcf81f --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js @@ -0,0 +1,91 @@ +const Applet = imports.ui.applet; +const GLib = imports.gi.GLib; +const St = imports.gi.St; +const Util = imports.misc.util; +const HOME = GLib.get_home_dir(); +const UUID = "CrosshairCursor@BMarkley"; +const APPLET_DIR = HOME + "/.local/share/cinnamon/applets/" + UUID; +const CROSSHAIR_SCRIPT = APPLET_DIR + "/CCScript.sh"; +const CROSSHAIR_EXEC = APPLET_DIR + "/CrosshairCursor/CrosshairCursor"; +const DEBUG = false; +const { + timeout_add, + timeout_add_seconds, + setTimeout, + clearTimeout, + setInterval, + clearInterval, + source_remove, + remove_all_sources +} = require("./lib/mainloopTools"); +const { to_string } = require("./lib/to-string"); + +const Gettext = imports.gettext; +Gettext.bindtextdomain(UUID, HOME + "/.local/share/locale"); + +function _(str) { + let customTranslation = Gettext.dgettext(UUID, str); + if(customTranslation != str) { + return customTranslation; + } + return Gettext.gettext(str); +} + +class CrosshairCursorToggle extends Applet.IconApplet { + constructor(metadata, orientation, panel_height, instanceId) { + super(orientation, panel_height, instanceId); + if (DEBUG) global.log("CrosshairCursor is initialized"); + this.orientation = orientation; + this.updateIcon(); + this._tooltip_ok(); + // make executable the script CrosshairCursor.sh: + Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_SCRIPT}'`); + // make executable the CrosshairCursor executable program: + Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_EXEC}'`); + } + + on_applet_clicked(event) { + //if (DEBUG) global.log(_("CrosshairCursorToggle is clicked")); + GLib.spawn_command_line_async(CROSSHAIR_SCRIPT); + // Delay update to allow process start/stop + timeout_add( 250, () => { + this.updateIcon(); + return GLib.SOURCE_REMOVE; + }); + } + + _tooltip_ok() { + this.set_applet_tooltip(_("Crosshair Cursor")); + } + + checkIfProgramRunning(programName) { + // Runs pgrep synchronously, returns true/false + try { + let [ok, stdout, stderr, status] = GLib.spawn_command_line_sync(`pgrep -x ${programName}`); + if (ok && status === 0 && to_string(stdout).trim().length > 0) { + return true; + } + } catch (e) { + global.logError(e); + } + return false; + } + + updateIcon() { + if (this.checkIfProgramRunning("CrosshairCursor")) { + this.set_applet_icon_name("CrosshairCursorRunning"); + if (DEBUG) global.log("CrosshairCursor is running"); + } else { + this.set_applet_icon_name("CrosshairCursorStopped"); + if (DEBUG) global.log("CrosshairCursor is stopped"); + } + } + + on_applet_removed_from_panel(deleteconfig) { + remove_all_sources(); + } +} + +function main(metadata, orientation, panelHeight, instanceId) { + return new CrosshairCursorToggle(metadata, orientation, panelHeight, instanceId); +} diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/icon.png b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9104ad81fdc557415112f1b52682248abbff9bf7 GIT binary patch literal 4750 zcmeHLc~BH*7Vl9MMNz_fvLEeZg5MDQN?jrjpETF@q|CJzn0y<+HF@ z>|tTn$2lO#_ji}|LU<$A@4mC5>NP=o_#3@te8Hls*`rccWg0#^VskFsb^M-bdH-Xt zr@F@HM2}2GH!LA)M$td`KR-4}pE~T)ZE@I_8Q6fqS?@h+{=wGJf^D0%xNYR?-_82R zn6{s%jEg(u&rRQ6ZXG=Oqv76u17}Y#pDWCv&Yybz+VZir?bntx^RL$A@O5iK?vz(D z1D6h7*uEG$T8gi5zQ41ja>R_>srJzJqAk7K`dpknGs=9X^*#j27IR5SR&!F)<>X9$en^ z!J;>I)DNmJgYU|&ya=aPC^D`rFxQ$YhtInG&E9!~ZhjTouP&-}t2Oe3c;V<~n|=RB zAvcjD%* z%3@aE_4^KO>>U~J&AD~=P2oIS>P&8VweTH%>clnkvaeFpam^L(%I*)Yu0p>xOegrc zXXk{UC1MUx8~?m*qOjrYxKr7Gi;P}sJ&`a}^JU73*)dI%*Zk8K_i){hYnwN%_%JNF zs?X`##KH%c`Jd+Pn$FERl~%EF;r`)A+DG(0v?pQDRsE$SRjqNdvf~Y_FaCV)m4@pv zS6k|b#rG=TRr5s|BGof<6v{b{pH!SeSK}1c~ z_kH#Hki%cB+IK^^`S9XjA6#gC`_f=pskeAB7x@AN4SIzG4VG=0O47VbK{33YRrp*U z(0LFP8}IW_bRH|hcGk(c4f30N4#;7SG010VESSZU#O87-C0^E6lAcMI5O0^kGnQ63amV5rN5cJ&ZMQy~E922wVQxOd`qvwoa=z!+FrEToaA3#9POMuS{hpJaHNW5~cQ z&1fC82GbyV#_mAW468*5J^4w2!Nxe)G8KN6BuRh0x`|Yfv%+TyGA8JF#w8Yah1j{Ew9y4AR0!4*zI~2 z!SxtLYt$^Er1SwOh9;AFuZsfZ7}Tj7)@ur0_a2u6UP)PZ9pTHg#^g}VkxOl0YE?w zav_tvEG6>ZOrFm-$fb~A$+J^!0pr9_B4wmR7Jy<(Es3c}6`rZYNlZ&>^awa(UF>;= za}@tKYiW4k*kH+1I039*91sO3%ErzOJ_R51xxgsFa9}7%iVmhAP=zcLh!bE1Rdg=p zcCuji=xEo+a_%=;fhO#PN~dHHR%OQ!HEX94yIQA2G-|@ZXjH62tqo??i7xOCv54}r ziB7;H;0m;7fGc=hpinP&kEJM=m8t*;LogL05r&Z(g4AFggrUzqMV*cY&8gQSv|R-T zMu$5P!mc6^Jxgc_rH;XI{jUi8UsDYB1kpXkSX9~;9~U(i{g1K-4Z7^3fSRBT?9X7k zM?3fX4$eSHp5?Ej-JazVFx<1qQ}NqFR}WoJ#lTY;_jFeeT~EcpQyKSk*Z+;KuqR)P ztQ)-O6@l-;QhjC)_?GNzPn%+d9ziRi(2QX>+kvFNCuODpK?8m#9WtoKKLQ9tMYF{e zdM!lOyYHk{`28sGhk?y(Ow7z~Y?*<(d*KoOTW=?X)eI?)nfBQv+s4tRe*PF!C9~n! zr~7uE+#cCy&8^CFJ9Z5Cdaz}GtB{hAHh%V06yw)`#TQAQKk=?1S z?zQmXr}1Q(d(gV3i>KE&cq>vY&B@Rwmd`OKeSQ37b7NTe^@+zFV_^;^qWFi^{P9^K z`aWogZU(X_YqvXmNZI=OEfZsBsv_#9)@@3y&#MS|_iWYoRjtMM+|8R~b~|r~g)ct0 zZ{<;8s`2*&qqAll&HMVTknGd<{1e8SKm3zAJ8}4^h-lO8Pfqle?cEhIV(esFi!5(J z;;Hb4Jw-2!$Ya;9Z>`SR61#4G;n3QRI%wXKOLxc0&7sxtO)dLNqH?mKEeZg5MDQN?jrjpETF@q|CJzn0y<+HF@ z>|tTn$2lO#_ji}|LU<$A@4mC5>NP=o_#3@te8Hls*`rccWg0#^VskFsb^M-bdH-Xt zr@F@HM2}2GH!LA)M$td`KR-4}pE~T)ZE@I_8Q6fqS?@h+{=wGJf^D0%xNYR?-_82R zn6{s%jEg(u&rRQ6ZXG=Oqv76u17}Y#pDWCv&Yybz+VZir?bntx^RL$A@O5iK?vz(D z1D6h7*uEG$T8gi5zQ41ja>R_>srJzJqAk7K`dpknGs=9X^*#j27IR5SR&!F)<>X9$en^ z!J;>I)DNmJgYU|&ya=aPC^D`rFxQ$YhtInG&E9!~ZhjTouP&-}t2Oe3c;V<~n|=RB zAvcjD%* z%3@aE_4^KO>>U~J&AD~=P2oIS>P&8VweTH%>clnkvaeFpam^L(%I*)Yu0p>xOegrc zXXk{UC1MUx8~?m*qOjrYxKr7Gi;P}sJ&`a}^JU73*)dI%*Zk8K_i){hYnwN%_%JNF zs?X`##KH%c`Jd+Pn$FERl~%EF;r`)A+DG(0v?pQDRsE$SRjqNdvf~Y_FaCV)m4@pv zS6k|b#rG=TRr5s|BGof<6v{b{pH!SeSK}1c~ z_kH#Hki%cB+IK^^`S9XjA6#gC`_f=pskeAB7x@AN4SIzG4VG=0O47VbK{33YRrp*U z(0LFP8}IW_bRH|hcGk(c4f30N4#;7SG010VESSZU#O87-C0^E6lAcMI5O0^kGnQ63amV5rN5cJ&ZMQy~E922wVQxOd`qvwoa=z!+FrEToaA3#9POMuS{hpJaHNW5~cQ z&1fC82GbyV#_mAW468*5J^4w2!Nxe)G8KN6BuRh0x`|Yfv%+TyGA8JF#w8Yah1j{Ew9y4AR0!4*zI~2 z!SxtLYt$^Er1SwOh9;AFuZsfZ7}Tj7)@ur0_a2u6UP)PZ9pTHg#^g}VkxOl0YE?w zav_tvEG6>ZOrFm-$fb~A$+J^!0pr9_B4wmR7Jy<(Es3c}6`rZYNlZ&>^awa(UF>;= za}@tKYiW4k*kH+1I039*91sO3%ErzOJ_R51xxgsFa9}7%iVmhAP=zcLh!bE1Rdg=p zcCuji=xEo+a_%=;fhO#PN~dHHR%OQ!HEX94yIQA2G-|@ZXjH62tqo??i7xOCv54}r ziB7;H;0m;7fGc=hpinP&kEJM=m8t*;LogL05r&Z(g4AFggrUzqMV*cY&8gQSv|R-T zMu$5P!mc6^Jxgc_rH;XI{jUi8UsDYB1kpXkSX9~;9~U(i{g1K-4Z7^3fSRBT?9X7k zM?3fX4$eSHp5?Ej-JazVFx<1qQ}NqFR}WoJ#lTY;_jFeeT~EcpQyKSk*Z+;KuqR)P ztQ)-O6@l-;QhjC)_?GNzPn%+d9ziRi(2QX>+kvFNCuODpK?8m#9WtoKKLQ9tMYF{e zdM!lOyYHk{`28sGhk?y(Ow7z~Y?*<(d*KoOTW=?X)eI?)nfBQv+s4tRe*PF!C9~n! zr~7uE+#cCy&8^CFJ9Z5Cdaz}GtB{hAHh%V06yw)`#TQAQKk=?1S z?zQmXr}1Q(d(gV3i>KE&cq>vY&B@Rwmd`OKeSQ37b7NTe^@+zFV_^;^qWFi^{P9^K z`aWogZU(X_YqvXmNZI=OEfZsBsv_#9)@@3y&#MS|_iWYoRjtMM+|8R~b~|r~g)ct0 zZ{<;8s`2*&qqAll&HMVTknGd<{1e8SKm3zAJ8}4^h-lO8Pfqle?cEhIV(esFi!5(J z;;Hb4Jw-2!$Ya;9Z>`SR61#4G;n3QRI%wXKOLxc0&7sxtO)dLNqH?mKiVK(Y3ossfL+v5t7ToqN7Ze$LRa1WCP9SLp0meu>VM>% z$$WFadw=)d-@W%cnXI;@PmPTp6%9d9tYw-h1KeTh>faZ93!%_maH|X1v&0Ol0QLuX z7w2JNvCz-LY>;z7Q1C0StvR+9e(u5jA!B4hcJ}DTstjFg8-8x}hVcoxuU-Gh+I;&z zm1k2gnMKee0^RX69`4?d8{- zV@~{~e#4Ek+bfnVS2k>Q=2c#qyvmV1ymh~$!f~Q-1sgNlUZm+?=eTITm75qkg6G63 zec4fLst0;KVR`kyjj|Wkex+5-Ax=B?FH5?>^?NA0@a>%8iQjE^M$2MLrTO*YfB62Nhl>W@zR<7#hojDXV2i64n@{e} zbRPXEv2?-U$xzx)pE0hH!iJ5-{Nf9l=s)I{xZCePoU?3EgEKWXK3!G&@oL>Fx7NGt zhveLivzSe7JA$89^^Qvk%>Q@WTH!of?4ELJUjAG9>611WWnH5jO1y<@Iq=@Kjp${A zgWz+U7R5FZ3CF0aclS;bb~cS~%=&v={3=_0>QMaLwE6`Jb(1&$n3?=&>y0g6?5cP_ zdP;epFDujXA70|`6zz9#iyCK?RV_U_{PXq^y+1vadgz+|;^*aOl4T{QYc_pz@9f-~ zn+exWRS!$)Rl2`;&5i2aH)UIXSM$XiFK++y#6H}BU2%6_n{wI?mGZ^KIPcrJct$*T$e1b^%XjXy(;0g}l=rD@W(Mk>C zRIwUFL(mkW*SQ#k!Z4iD=?E20sJlSC9N<7#Ql73+Nl*-cqFJRHcS`QHItoO?;E2hDBly<2l%X06I~^RALIXHf%1Hg#^g}VkxOl z0YF#|av_ZYmJ<1Zo##CUxdZ`AmYv&HFis35QYK1d0Vt-@l9-xQEA1*JiQy!!MKB=g zqR%s&tMLD6OTz;vMM^%66M+B1uqZN7nQU(4De~yy!lMMk;h`WYI+B7w<+DsUPJk8J zq8Cy=Hw#XWj&^-4=YF9TXu?UTbt(p7)lLl2uud9rYIG_D*AOlSSFyjjre? zZ;Y%D{Lm`^?}L9-U77{nCHp#OOf`Xf1r!_lc8LnC2KcAV5g;h$dFhft+jfiq!hWK~ zYVLPEO4hp%F|7Ccd*BZPyTz1d&#FB&Tj{ICelwQcmA+Cj=BE>f#~r&_zsGptoO30) zG&}1~dsR(?D{a`G=hqd;9~js0A?<*7DgSqsISclg#}p46JKCzhId6M;e0HC!WBYH_ zZ5jfJP4^n!4CK_DY}(xvwclu3l&0-9Vvwbl7?qhhc>4AHg_oFvTD8nF=J@g8_gmWU zddy2_+?namIo~*E#f_%aaR>hO>b4aLIZ^Ly+JnzJzSz7Tvd?Y!dQZ{F^1Y=W94sli z931&|)H{EDqp+;JbyaCqYuOL;g7Gp}`_U_9md0BXV;%Le{h}=EADsF)4cd!G{cT0P zJy4S|ze3Zi?aq(AGaC*(T61Re{68I3wtEsMTW&+4l^5Gcxy8L9<^1uZuZ)_14q8VX zsKsB}v*oU%?3GC;cgjo~jD15(hFA5 2) { + args = args.slice.call(arguments, 2); + } + + let id = GLib.timeout_add(GLib.PRIORITY_DEFAULT, + ms, + () => { + callback.call(null, ...args); + return false; // Stop repeating + } + ); + + if (id && (_sourceIds.indexOf(id) === -1)) _sourceIds.push(id); + + return id; +} + +/** + * clearTimeout: + * @id (number): The ID of the loop to remove. + * + * Convenience wrapper for Mainloop.source_remove. + */ +function clearTimeout(id) { + if (id) { + source_remove(id); + } +} + + +/** + * setInterval: + * @callback (function): Function to call on every interval. + * @ms (number): Milliseconds between invocations. + * + * Convenience wrapper for a Mainloop.timeout_add loop that + * returns true. + * + * Returns (number): The ID of the loop. + */ +function setInterval(callback, ms) { + let args = []; + if (arguments.length > 2) { + args = args.slice.call(arguments, 2); + } + + let id = GLib.timeout_add(GLib.PRIORITY_DEFAULT, ms, () => { + callback.call(null, ...args); + return true; // Repeat + }); + + if (id && (_sourceIds.indexOf(id) === -1)) _sourceIds.push(id); + + return id; +} + +/** + * clearInterval: + * @id (number): The ID of the loop to remove. + * + * Convenience wrapper for Mainloop.source_remove. + */ +function clearInterval(id) { + if (id) { + source_remove(id); + } +}; + +/** + * source_exists + * + * @id (number, or null) + * + * Checks if @id is well the ID of a loop. + * + */ +function source_exists(id) { + let _id = id; + if (!_id) return false; + return (GLib.MainContext.default().find_source_by_id(_id) != null); +} + +/** + * source_remove + * + * @id (number): The ID of the loop to stop. + * @remove_from_sourceIds (boolean): *true* (by default) when we want to + * remove @id from _sourceIds. May be *false* for internal functionning. + * + * Convenience wrapper for a Mainloop.source_remove(id) that returns a + * boolean. + */ +function source_remove(id, remove_from_sourceIds=true) { + if (source_exists(id)) { + GLib.source_remove(id); + if (remove_from_sourceIds) { + const pos = _sourceIds.indexOf(id); + if (pos > -1) _sourceIds.splice(pos, 1); + } + return true; + } + return false; +} + +/** + * remove_all_sources + * + * Execute it when removing the spice. + * Tries to delete all remaining sources, in order to remove all loops. + */ +function remove_all_sources() { + while (_sourceIds.length > 0) { + let id = _sourceIds.pop(); + source_remove(id, false); + } +} + +module.exports = { + _sourceIds, + timeout_add_seconds, + timeout_add, + setTimeout, + clearTimeout, + setInterval, + clearInterval, + source_exists, + source_remove, + remove_all_sources +} diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/lib/to-string.js b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/lib/to-string.js new file mode 100644 index 00000000000..601c29e1ebc --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/lib/to-string.js @@ -0,0 +1,4 @@ +const ByteArray = imports.byteArray; +const to_string = function(data) { + return ""+ByteArray.toString(data); +} diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/metadata.json b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/metadata.json new file mode 100644 index 00000000000..574a50dfb9a --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/metadata.json @@ -0,0 +1,7 @@ +{ + "uuid": "CrosshairCursor@BMarkley", + "name": "CrosshairCursor@Bmarkley", + "description": "Activates a crosshair mouse cursor that spans the display.", + "max-instances": "1", + "author": "BMarkley" +} diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/po/CrosshairCursor@BMarkley.pot b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/po/CrosshairCursor@BMarkley.pot new file mode 100644 index 00000000000..424cf5e0e51 --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/po/CrosshairCursor@BMarkley.pot @@ -0,0 +1,30 @@ +# CrosshairCursor +# This file is put in the public domain. +# +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: CrosshairCursor@Bmarkley 1.0\n" +"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/" +"issues\n" +"POT-Creation-Date: 2026-04-06 14:00+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. applet.js:55 +msgid "Crosshair Cursor" +msgstr "" + +#. metadata.json->name +msgid "CrosshairCursor@Bmarkley" +msgstr "" + +#. metadata.json->description +msgid "Activates a crosshair mouse cursor that spans the display." +msgstr "" diff --git a/CrosshairCursor@BMarkley/info.json b/CrosshairCursor@BMarkley/info.json new file mode 100644 index 00000000000..c9a64514266 --- /dev/null +++ b/CrosshairCursor@BMarkley/info.json @@ -0,0 +1,3 @@ +{ +"author" : "BMarkley" +} diff --git a/CrosshairCursor@BMarkley/screenshot.png b/CrosshairCursor@BMarkley/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..303e6e992cb87f6a51bfce18151ec9114e3dafc5 GIT binary patch literal 181554 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
WG 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 )9#77d$&Q&G>tCfb#ZDq> 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

>ZurU-z(1z+Jv)Y!K{!-4r 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 literal 0 HcmV?d00001 From efe045436330e0233ebf2620c997863d32a65d77 Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Sun, 12 Apr 2026 19:50:25 -0600 Subject: [PATCH 2/6] Updated fixes for automated check --- .../files/CrosshairCursor@BMarkley/applet.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js index 1c32dbcf81f..31ddc7197c7 100644 --- a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js @@ -4,7 +4,8 @@ const St = imports.gi.St; const Util = imports.misc.util; const HOME = GLib.get_home_dir(); const UUID = "CrosshairCursor@BMarkley"; -const APPLET_DIR = HOME + "/.local/share/cinnamon/applets/" + UUID; +const USER_DATA_DIR = GLib.get_user_data_dir() +const APPLET_DIR = USER_DATA_DIR + "/cinnamon/applets/" + UUID; const CROSSHAIR_SCRIPT = APPLET_DIR + "/CCScript.sh"; const CROSSHAIR_EXEC = APPLET_DIR + "/CrosshairCursor/CrosshairCursor"; const DEBUG = false; @@ -21,7 +22,7 @@ const { const { to_string } = require("./lib/to-string"); const Gettext = imports.gettext; -Gettext.bindtextdomain(UUID, HOME + "/.local/share/locale"); +Gettext.bindtextdomain(UUID, USER_DATA_DIR + "/locale"); function _(str) { let customTranslation = Gettext.dgettext(UUID, str); @@ -39,14 +40,14 @@ class CrosshairCursorToggle extends Applet.IconApplet { this.updateIcon(); this._tooltip_ok(); // make executable the script CrosshairCursor.sh: - Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_SCRIPT}'`); + Util.spawn(["/usr/bin/env bash -c 'chmod", "+x ${CROSSHAIR_SCRIPT}"]); // make executable the CrosshairCursor executable program: - Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_EXEC}'`); + Util.spawn(["/usr/bin/env bash -c 'chmod", "+x ${CROSSHAIR_EXEC}"]); } on_applet_clicked(event) { //if (DEBUG) global.log(_("CrosshairCursorToggle is clicked")); - GLib.spawn_command_line_async(CROSSHAIR_SCRIPT); + Util.spawn(CROSSHAIR_SCRIPT); // Delay update to allow process start/stop timeout_add( 250, () => { this.updateIcon(); @@ -61,7 +62,7 @@ class CrosshairCursorToggle extends Applet.IconApplet { checkIfProgramRunning(programName) { // Runs pgrep synchronously, returns true/false try { - let [ok, stdout, stderr, status] = GLib.spawn_command_line_sync(`pgrep -x ${programName}`); + let [ok, stdout, stderr, status] = Util.spawn("pgrep", "-x ${programName}"); if (ok && status === 0 && to_string(stdout).trim().length > 0) { return true; } From 29ec598c3bf774b8a8317ac83bfd950415e92a8e Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Sun, 12 Apr 2026 20:49:30 -0600 Subject: [PATCH 3/6] Add files via upload --- .../files/CrosshairCursor@BMarkley/applet.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js index 31ddc7197c7..fb8cef29692 100644 --- a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js @@ -40,14 +40,14 @@ class CrosshairCursorToggle extends Applet.IconApplet { this.updateIcon(); this._tooltip_ok(); // make executable the script CrosshairCursor.sh: - Util.spawn(["/usr/bin/env bash -c 'chmod", "+x ${CROSSHAIR_SCRIPT}"]); + Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_SCRIPT}'`); // make executable the CrosshairCursor executable program: - Util.spawn(["/usr/bin/env bash -c 'chmod", "+x ${CROSSHAIR_EXEC}"]); + Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_EXEC}'`); } on_applet_clicked(event) { //if (DEBUG) global.log(_("CrosshairCursorToggle is clicked")); - Util.spawn(CROSSHAIR_SCRIPT); + GLib.spawn_command_line_async(CROSSHAIR_SCRIPT); // Delay update to allow process start/stop timeout_add( 250, () => { this.updateIcon(); @@ -62,7 +62,7 @@ class CrosshairCursorToggle extends Applet.IconApplet { checkIfProgramRunning(programName) { // Runs pgrep synchronously, returns true/false try { - let [ok, stdout, stderr, status] = Util.spawn("pgrep", "-x ${programName}"); + let [ok, stdout, stderr, status] = GLib.spawn_command_line_sync(`pgrep -x ${programName}`); if (ok && status === 0 && to_string(stdout).trim().length > 0) { return true; } From 8d598d1697726542cfb04b01f89d7750ff045577 Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Fri, 17 Apr 2026 00:22:56 -0600 Subject: [PATCH 4/6] Included source for the executable Now instead of having an executable binary, the applet has the source files for the binary, and the binary is compiled inside the applet.js constructor. --- .../CrosshairCursor/Compile.sh | 4 + .../CrosshairCursor/CrosshairCursor._man | 134 ++ .../CrosshairCursor/CrosshairCursor.c | 704 ++++++++++ .../CrosshairCursor/CrosshairCursor.man | 104 ++ .../CrosshairCursor/CrosshairCursor.o | Bin 0 -> 76720 bytes .../CrosshairCursor/Imakefile | 10 + .../CrosshairCursor/Makefile | 1180 ++++++++++++++++ .../CrosshairCursor/Makefile.bak | 1181 +++++++++++++++++ .../files/CrosshairCursor@BMarkley/applet.js | 7 +- 9 files changed, 3323 insertions(+), 1 deletion(-) create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor._man create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.c create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.man create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.o create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Imakefile create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Makefile create mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Makefile.bak diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh new file mode 100644 index 00000000000..34aa1515922 --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh @@ -0,0 +1,4 @@ +#!/bin/bash +##compile +cd ~/.local/share/cinnamon/applets/CrosshairCursor@BMarkley/CrosshairCursor/ +make diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor._man b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor._man new file mode 100644 index 00000000000..6b3d61a0ff0 --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor._man @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.TH CrosshairCursor 1 +.SH NAME CrosshairCursor +Creates a Crosshair window that follows your cursor. +.SH SYNOPSIS +.B CrosshairCursor +[\fB-help\fP] +[\fB-horizontal\fP] [\fB-vertical\fP] +[\fB-time\fP \fIn\fP] [\fB-width\fP \fIn\fP] [\fB-height\fP \fIn\fP] +[\fB-name\fP \fIname\fP] [\fB-display\fP \fIname\fP] +[\fB-offset\fP \fIgeometry\fP] [\fB-position\fP \fIgeometry\fP] +[\fB-rv\fP] [\fB-fg\fP] [\fB-bg\fP] [\fB-nobg\fP] [\fB-sync\fP] +.SH DESCRIPTION +.I CrosshairCursor +changes your mouse cursor into a crosshairs that can be used as a productivity or +assistive tool. +.SS Options +.TP +.B -help +Prints help message. +.TP +.BI \-fg " colour" +Foreground colour. +.TP +.BI \-bg " colour" +Background/outline colour. +.TP +.BI \-nobg +no background/outline. +.TP +.B -rv +Reverse background colour and foreground colour. +.TP +.BI \-offset " geometry" +set x and y offset. ex: +2-12." +.TP +.BI \-position " geometry" +set fixed x and y position. ex: 960x540." +.TP +.BI \-width " pixels" +set width of the cursor." +.TP +.BI \-height " pixels" +set height of the cursor." +.TP +.BI \-time " microseconds" +Sets refresh rate in micro-second. +.TP +.BI \-display " name" +name of display to draw window to +.TP +.BI \-name " name" +Specify the name of the process. +.TP +.BI \-sync +puts you in synchronous mode. + +.SH AUTHOR +.I CrosshairCursor +is written by Brian Markley PENG RSE after a code review of oneko and the +oneko-toggle applet for cinamon desktop. + +Special thanks to: +Original +.I xneko +is written by Masayuki Koba and modified to +.I oneko +by Tatsuya Kato, and modified furthermore by John Lerchey, Eric +Anderson, Toshihiro Kanda and Kiichiroh Mukose. +.I oneko-toggle + applet is written by kusch31 + +.SH MAINTAINER +Send questions or problems to me at the project Github Page. +CrosshairCursor@BMarkley diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.c b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.c new file mode 100644 index 00000000000..520b3ae1520 --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.c @@ -0,0 +1,704 @@ +/* + * CrosshairCursor for X11 - Places a window shaped like crosshairs that follows your mouse cursor. + * Designed to run in Linux Mint Cinnamon but should work on other distributions. + * A lot of the code was borrowed from oneko-sakura, and then modified to achieve my goal. + * This code is given for free without any warranty whatsoever. + * maintained at CrosshairCursor@BMarkley on Github + */ + + +//#include +//#include +#include + +#include +#include +#include +#include +#include + +#define DEBUG_SOURCE 0 +#define DEBUG_SOURCE_MORE 0 +#define DEBUG_SOURCE_RESTORECURSOR 0 + + +//#define DEFAULT_BITMAP_WIDTH 4480*2 +#define DEFAULT_BITMAP_WIDTH UNDEFINED +//#define DEFAULT_BITMAP_HEIGHT 1080*2 +#define DEFAULT_BITMAP_HEIGHT UNDEFINED +#define DEFAULT_FOREGROUND "lightgrey" //centre of cursor +#define DEFAULT_BACKGROUND "black" //outline of cursor +#define DEFAULT_INTERVAL 1000 //update interval in us +#define MAXDISPLAYNAME (64 + 5) +#define UNDEFINED (-1) +/* + * Global variables + */ + +char *ClassName = "CrosshairCursor"; /* Command name */ +char *ProgramName; /* Command name */ + +Display *theDisplay; /* Display structure */ +int theScreen; /* Screen number */ +unsigned int theDepth; /* Depth */ +Window theRoot; /* Root window ID */ +Window theWindow; /* Cat window ID */ +char *WindowName = NULL; /* Cat window name */ + +unsigned int WindowWidth; /* Root window width */ +unsigned int WindowHeight; /* Root window height */ + +XColor theForegroundColor; /* Foreground color */ +XColor theBackgroundColor; /* Color (background) */ + +int Synchronous = False; + +/* +* Various initial settings (can be changed using options and resources) +*/ + +/* options: */ +int BitmapWidth = DEFAULT_BITMAP_WIDTH; +int BitmapHeight = DEFAULT_BITMAP_HEIGHT; +char *Foreground = DEFAULT_FOREGROUND; /* foreground */ +char *Background = DEFAULT_BACKGROUND; /* background */ +int noBG = 0; //no background +int fixedPosition = 0; //fixed position +useconds_t IntervalTime = DEFAULT_INTERVAL; /* time in between updates */ +int ReverseVideo = UNDEFINED; /* reverse */ +int XOffset=0,YOffset=0; /* X and Y offsets for cat from mouse pointer. */ +/* +* Various state variables +*/ + +Bool DontMapped = True; + +int MouseX; /* Mouse X coordinate */ +int MouseY; /* Mouse Y coordinate */ + +int PrevMouseX = 0; /* Previous mouse X coordinate */ +int PrevMouseY = 0; /* Previous mouse Y coordinate */ + +int NekoX; /* Cat X coordinate */ +int NekoY; /* Cat Y coordinate */ + +int NekoMoveDx; /* Cat movement distance X */ +int NekoMoveDy; /* Cat movement distance Y */ + +int NekoLastX; /* Last cat drawing X coordinate */ +int NekoLastY; /* Last cat drawing Y coordinate */ +GC NekoLastGC; /* Cat final drawing GC */ + +/* Variables used to set how quickly the program will chose to raise itself. */ +/* Look at Interval(), Handle Visiblility Notify Event */ +#define DEFAULT_RAISE_WAIT 16 /* About 2 seconds with default interval */ +int RaiseWindowDelay=0; +/* +* others +*/ + +static void NullFunction(); + +/* +* Initialize bitmap data and GC +*/ + +void +InitGCs() +{ +#if DEBUG_SOURCE +printf("Debug: InitGCs\n"); +#endif + XGCValues theGCValues; + + theGCValues.function = GXcopy; + theGCValues.foreground = theForegroundColor.pixel; + theGCValues.background = theBackgroundColor.pixel; + + NekoLastGC = XCreateGC(theDisplay, theWindow, + GCFunction | GCForeground | GCBackground, + &theGCValues); +} + +/* +* Initialize the color +*/ + +int SetupColors() +{ +#if DEBUG_SOURCE +printf("Debug: SetupColours\n"); +#endif + XColor theExactColor; + Colormap theColormap; + + theColormap = DefaultColormap(theDisplay, theScreen); + + if (theDepth == 1) { + Foreground = "black"; + Background = "white"; + } + + if (ReverseVideo == True) { + char *tmp; + + tmp = Foreground; + Foreground = Background; + Background = tmp; + } + + if (!XAllocNamedColor(theDisplay, theColormap, + Foreground, &theForegroundColor, &theExactColor)) { + fprintf(stderr, "%s: Can't XAllocNamedColor(%s).\n", + ProgramName, Foreground); + exit(1); + } + + if (!XAllocNamedColor(theDisplay, theColormap, + Background, &theBackgroundColor, &theExactColor)) { + fprintf(stderr, "%s: Can't XAllocNamedColor(%s).\n", + ProgramName, Background); + exit(1); + } +} + +/* +* Initialize the screen environment +*/ + +void +InitScreen(DisplayName) + char *DisplayName; +{ +#if DEBUG_SOURCE +printf("Debug: InitScreen\n"); +#endif + XSetWindowAttributes theWindowAttributes; + unsigned long theWindowMask; + Window theTempRoot; + int WindowPointX; + int WindowPointY; + unsigned int BorderWidth; + int event_base, error_base; + + if ((theDisplay = XOpenDisplay(DisplayName)) == NULL) { + fprintf(stderr, "%s: Can't open display", ProgramName); + if (DisplayName != NULL) { + fprintf(stderr, " %s\n",DisplayName); + } else { + fprintf(stderr, "\n"); + } + exit(1); + } + + + if (Synchronous == True) { + fprintf(stderr,"Synchronizing\n"); + XSynchronize(theDisplay,True); + } + if (XShapeQueryExtension(theDisplay, &event_base, &error_base) == False) { + fprintf(stderr, "Display not suported shape extension\n"); + } //terminate + + theScreen = DefaultScreen(theDisplay); + theDepth = DefaultDepth(theDisplay, theScreen); + theRoot = RootWindow(theDisplay, theScreen); + XGetGeometry(theDisplay, theRoot, &theTempRoot, + &WindowPointX, &WindowPointY, + &WindowWidth, &WindowHeight, + &BorderWidth, &theDepth); +// printf("WindowWidth: %d\nWindowHeight: %d\n",WindowWidth,WindowHeight); + if (BitmapWidth == UNDEFINED || BitmapWidth > 2*WindowWidth + XOffset){ + BitmapWidth = 2*(WindowWidth + XOffset); + } + if (BitmapHeight == UNDEFINED || BitmapHeight > 2*WindowHeight + YOffset){ + BitmapHeight = 2*(WindowHeight + YOffset); + } + + SetupColors(); + theWindowAttributes.background_pixel = theBackgroundColor.pixel; + theWindowAttributes.override_redirect = True; + + theWindowMask = CWBackPixel|CWOverrideRedirect; + + theWindow = XCreateWindow(theDisplay, theRoot, 0, 0, + BitmapWidth, BitmapHeight, + 0, theDepth, InputOutput, CopyFromParent, + theWindowMask, &theWindowAttributes); + + + if (WindowName == NULL) WindowName = ProgramName; + XStoreName(theDisplay, theWindow, WindowName); + + InitGCs(); + XSelectInput(theDisplay, theWindow, + VisibilityChangeMask); + XFlush(theDisplay); +} + + +/* +* SIGINT signal handling +*/ + +void +RestoreCursor() +{ +#if DEBUG_SOURCE_RESTORECURSOR +printf("Debug: RestoreCursor\n"); +#endif +//XUnmapWindow(theDisplay, theWindow); +//XDestroyWindow(theDisplay, theWindow); +//XFreeGC(theDisplay,NekoLastGC); +//XCloseDisplay(theDisplay); //there is a bug causing this to crash, so I skipped it. + exit(0); +} + + +/* +* Interval +* +* When this function is called, it will not return for a certain period of time. Use this to adjust the timing of the cat's actions. +*/ + +void +Interval() +{ +#if DEBUG_SOURCE_MORE +printf("Debug: Interval\n"); +#endif + if(0 != usleep(IntervalTime)){ + fprintf(stderr, "Error in Interval Sleep\n"); + exit(1); + } + if (RaiseWindowDelay>0) RaiseWindowDelay--; +} + +/* +* Cat drawing process +*/ + +void +DrawNeko(x, y) + int x; + int y; +{ +#if DEBUG_SOURCE +printf("Debug: DrawNeko\n"); +#endif +/*@@@@@@*/ + if ((x != NekoLastX) || (y != NekoLastY)) { + XMoveWindow(theDisplay, theWindow, x, y); + if (DontMapped) { + XMapWindow(theDisplay, theWindow); + DontMapped = 0; + } + } + + //crosshairs + //window shape (background) + XRectangle xrectangles[2]; + xrectangles[0].height = BitmapHeight; + xrectangles[0].width = 3; + xrectangles[0].x = BitmapWidth/2-1; + xrectangles[0].y = 0; + xrectangles[1].height = 3; + xrectangles[1].width = BitmapWidth; + xrectangles[1].x = 0; + xrectangles[1].y = BitmapHeight/2-1; + if(!noBG){ + XShapeCombineRectangles(theDisplay, theWindow, ShapeBounding, + 0, 0, (XRectangle*)&xrectangles, 2, ShapeSet,0); + } + //foreground + xrectangles[0].height = BitmapHeight; + xrectangles[0].width = 1; + xrectangles[0].x = BitmapWidth/2; + xrectangles[0].y = 0; + xrectangles[1].height = 1; + xrectangles[1].width = BitmapWidth; + xrectangles[1].x = 0; + xrectangles[1].y = BitmapHeight/2; + if(noBG){ //if no background colour + XShapeCombineRectangles(theDisplay, theWindow, ShapeBounding, + 0, 0, (XRectangle*)&xrectangles, 2, ShapeSet,0); + } + XFillRectangles(theDisplay, theWindow, NekoLastGC, (XRectangle*)&xrectangles, 2); + + XFlush(theDisplay); + NekoLastX = x; + NekoLastY = y; + +} + + +/* +* Cat redraw process +*/ + +void +RedrawNeko(x, y) + int x; + int y; + { +#if DEBUG_SOURCE_MORE +printf("Debug: RedrawNeko\n"); +#endif + if ((x != NekoLastX) || (y != NekoLastY)) { +// XLowerWindow(theDisplay, theWindow); + XMoveWindow(theDisplay, theWindow, x, y); +// XRaiseWindow(theDisplay, theWindow); + XFlush(theDisplay); + //XSync(theDisplay, 0); + NekoLastX = x; + NekoLastY = y; + } +} + +/* +* Calculate cat movement dx, dy +*/ + +void +CalcDxDy() +{ +#if DEBUG_SOURCE_MORE +printf("Debug: CalcDxDy\n"); +#endif + Window QueryRoot, QueryChild; + int AbsoluteX, AbsoluteY; + int RelativeX, RelativeY; + unsigned int ModKeyMask; + XQueryPointer(theDisplay, theWindow, + &QueryRoot, &QueryChild, + &AbsoluteX, &AbsoluteY, + &RelativeX, &RelativeY, + &ModKeyMask); + PrevMouseX = MouseX; + PrevMouseY = MouseY; + if (0 == fixedPosition){ + MouseX = AbsoluteX+XOffset; + MouseY = AbsoluteY+YOffset; +} +} + + +/* +* Motion analysis and cat drawing processing +*/ + +void +NekoThinkDraw() +{ +#if DEBUG_SOURCE_MORE +printf("Debug: NekoThinkDraw\n"); +#endif + CalcDxDy(); + RedrawNeko(MouseX-BitmapWidth/2+3, MouseY-BitmapHeight/2+3); + Interval(); //sleep +} + + +/* +* Event handling +*/ + +Bool +ProcessEvent() +{ +#if DEBUG_SOURCE_MORE +printf("Debug: ProcessEvent\n"); +#endif + XEvent theEvent; + Bool ContinueState = True; + + while (XPending(theDisplay)) { + XNextEvent(theDisplay,&theEvent); + switch (theEvent.type) { + case VisibilityNotify: + if (RaiseWindowDelay==0) { + XRaiseWindow(theDisplay,theWindow); + RaiseWindowDelay=DEFAULT_RAISE_WAIT; + } + default: + /* Unknown Event */ + break; + } + } + return(ContinueState); +} + + +/* +* Cat disposal +*/ + +void +ProcessNeko(){ +#if DEBUG_SOURCE +printf("Debug: ProcessNeko\n"); +#endif +/* Initialize cat */ + NekoX = (WindowWidth - BitmapWidth / 2) / 2; + NekoY = (WindowHeight - BitmapHeight / 2) / 2; + NekoLastX = NekoX; + NekoLastY = NekoY; + +/* Main processing */ + CalcDxDy(); + DrawNeko(MouseX-BitmapWidth/2+3+XOffset, MouseY-BitmapHeight/2+3+YOffset); + do { + NekoThinkDraw(); + } while (ProcessEvent()); +} + + +/* +* SIGALRM signal handling +*/ + +static void +NullFunction() +{ +#if DEBUG_SOURCE +printf("Debug: NullFunction\n"); +#endif + /* No Operation */ +#if defined(SYSV) || defined(SVR4) + signal(SIGALRM, NullFunction); +#endif /* SYSV || SVR4 */ +} + +/* +* Error handling +*/ + +int +NekoErrorHandler(dpy, err) + Display *dpy; + XErrorEvent *err; +{ +#if DEBUG_SOURCE +printf("Debug: NekoErrorHandler\n"); +#endif + char msg[80]; + XGetErrorText(dpy, err->error_code, msg, 80); + fprintf(stderr, "%s: Error and exit\n%s\n",ProgramName, msg); + exit(1); + +} + + +/* + * Usage + */ + +char *message[] = { +"", +"Options are:", +"-h or -help : display this helpful message.", +"-fg : foreground color.", +"-bg : background/outline color.", +"-nobg : no-background.", +"-rv : invert colours.", +"-offset : set x and y offset ex: +2-12.", +"-position : set fixed x and y position. ex: 960x540.", +"-width : set the width of the cursor.", +"-height : set the height of the cursor.", +"-horizontal : horizontal Line only.", +"-vertical : vertical line only.", +"-time : time between updates in microseconds.", +"-display : name of display to draw window to.", +"-name : name of process.", +"-sync : puts you in synchronous mode.", +NULL }; + +void +Usage() +{ +#if DEBUG_SOURCE +printf("Debug: Usage\n"); +#endif + char **mptr; + int loop; + + mptr = message; + fprintf(stderr, "Usage: %s []\n",ProgramName); + while (*mptr) { + fprintf(stderr,"%s\n",*mptr); + mptr++; + } +} + + +/* +* Understanding options +*/ + +Bool +GetArguments(argc, argv, theDisplayName) + int argc; + char *argv[]; + char *theDisplayName; +{ +#if DEBUG_SOURCE +printf("Debug: GetArguments\n"); +#endif + int ArgCounter; + int result,foo,bar; + extern int XOffset,YOffset; + int loop,found=0; + + theDisplayName[0] = '\0'; + + for (ArgCounter = 0; ArgCounter < argc; ArgCounter++) { + + if ((strcmp(argv[ArgCounter], "-h") == 0) || (strcmp(argv[ArgCounter], "-help") == 0)) { + Usage(); + exit(0); + } + if (strcmp(argv[ArgCounter], "-display") == 0) { + ArgCounter++; + if (ArgCounter < argc) { + strcpy(theDisplayName, argv[ArgCounter]); + } else { + fprintf(stderr, "%s: -display option error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-time") == 0) { + ArgCounter++; + if (ArgCounter < argc) { + IntervalTime = atol(argv[ArgCounter]); + } else { + fprintf(stderr, "%s: -time option error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-name") == 0) { + ArgCounter++; + if (ArgCounter < argc) { + WindowName = argv[ArgCounter]; + } else { + fprintf(stderr, "%s: -name option error.\n",ProgramName); + exit(1); + } + } + else if ((strcmp(argv[ArgCounter], "-fg") == 0) || + (strcmp(argv[ArgCounter], "-foreground") == 0)) { + ArgCounter++; + Foreground = argv[ArgCounter]; + } + else if ((strcmp(argv[ArgCounter], "-bg") == 0) || + (strcmp(argv[ArgCounter], "-background") == 0)) { + ArgCounter++; + Background = argv[ArgCounter]; + } + else if ((strcmp(argv[ArgCounter], "-nobg") == 0) || + (strcmp(argv[ArgCounter], "-no-background") == 0)) { + noBG = 1; + } + else if (strcmp(argv[ArgCounter], "-rv") == 0) { + ReverseVideo = True; + } + else if (strcmp(argv[ArgCounter], "-width") == 0) { + ArgCounter++; + if (ArgCounter < argc) { + BitmapWidth = atof(argv[ArgCounter]); + } else { + fprintf(stderr, "%s: -width option error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-height") == 0) { + ArgCounter++; + if (ArgCounter < argc) { + BitmapHeight = atof(argv[ArgCounter]); + } else { + fprintf(stderr, "%s: -height option error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-horizontal") == 0) { + BitmapHeight = 3; + if(1 == BitmapHeight && 1 == BitmapWidth){ + fprintf(stderr, "%s: -can't run 'only vertical' and 'only horizontal' at same time.\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-vertical") == 0) { + BitmapWidth = 3; + if(1 == BitmapHeight && 1 == BitmapWidth){ + fprintf(stderr, "%s: -can't run 'only vertical' and 'only horizontal' at same time.\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-offset") == 0) { + ArgCounter++; + result=XParseGeometry(argv[ArgCounter],&XOffset,&YOffset,&foo,&bar); + if ((0 == foo && 0 == bar)||(0 == XOffset && 0 == YOffset)){ + fprintf(stderr, "%s: -offset error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-position") == 0) { + ArgCounter++; + result=XParseGeometry(argv[ArgCounter],&foo,&bar,&MouseX,&MouseY); + fixedPosition = 1; + if (0 == MouseX && 0 == MouseY){ + fprintf(stderr, "%s: -position error\n",ProgramName); + exit(1); + } + } + else if (strcmp(argv[ArgCounter], "-sync") ==0) { + Synchronous = True; + } + else { + char *av = argv[ArgCounter] + 1; + if (!found) { + fprintf(stderr, + "%s: Unknown option %s\n",ProgramName, + argv[ArgCounter]); + Usage(); + exit(1); + } + } + } + + if (strlen(theDisplayName) < 1) { + theDisplayName = NULL; + } +} + + +/* +* Main function +*/ + +int +main(argc, argv) + int argc; + char *argv[]; +{ +#if DEBUG_SOURCE +printf("Debug: Main\n"); +#endif + char theDisplayName[MAXDISPLAYNAME]; + + ProgramName = argv[0]; + + argc--; + argv++; + + GetArguments(argc, argv, theDisplayName); + XSetErrorHandler(NekoErrorHandler); + InitScreen(theDisplayName); + + signal(SIGALRM, NullFunction); + signal(SIGINT, RestoreCursor); + signal(SIGTERM, RestoreCursor); + signal(SIGQUIT, RestoreCursor); + + ProcessNeko(); + RestoreCursor(); +} diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.man b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.man new file mode 100644 index 00000000000..7099f2bf855 --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.man @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.TH CrosshairCursor 1 +.SH NAME CrosshairCursor +Creates a Crosshair window that follows your cursor. +.SH SYNOPSIS +.B CrosshairCursor +[\fB-help\fP] +[\fB-horizontal\fP] [\fB-vertical\fP] +[\fB-time\fP \fIn\fP] [\fB-width\fP \fIn\fP] [\fB-height\fP \fIn\fP] +[\fB-name\fP \fIname\fP] [\fB-display\fP \fIname\fP] +[\fB-offset\fP \fIgeometry\fP] [\fB-position\fP \fIgeometry\fP] +[\fB-rv\fP] [\fB-fg\fP] [\fB-bg\fP] [\fB-nobg\fP] [\fB-sync\fP] +.SH DESCRIPTION +.I CrosshairCursor +changes your mouse cursor into a crosshairs that can be used as a productivity or +assistive tool. +.SS Options +.TP +.B -help +Prints help message. +.TP +.BI \-fg " colour" +Foreground colour. +.TP +.BI \-bg " colour" +Background/outline colour. +.TP +.BI \-nobg +no background/outline. +.TP +.B -rv +Reverse background colour and foreground colour. +.TP +.BI \-offset " geometry" +set x and y offset. ex: +2-12." +.TP +.BI \-position " geometry" +set fixed x and y position. ex: 960x540." +.TP +.BI \-width " pixels" +set width of the cursor." +.TP +.BI \-height " pixels" +set height of the cursor." +.TP +.BI \-time " microseconds" +Sets refresh rate in micro-second. +.TP +.BI \-display " name" +name of display to draw window to +.TP +.BI \-name " name" +Specify the name of the process. +.TP +.BI \-sync +puts you in synchronous mode. + +.SH AUTHOR +.I CrosshairCursor +is written by Brian Markley PENG RSE after a code review of oneko and the +oneko-toggle applet for cinamon desktop. + +Special thanks to: +Original +.I xneko +is written by Masayuki Koba and modified to +.I oneko +by Tatsuya Kato, and modified furthermore by John Lerchey, Eric +Anderson, Toshihiro Kanda and Kiichiroh Mukose. +.I oneko-toggle + applet is written by kusch31 + +.SH MAINTAINER +Send questions or problems to me at the project Github Page. +CrosshairCursor@BMarkley diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.o b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor.o new file mode 100644 index 0000000000000000000000000000000000000000..6abbbb7392255161a9615749cd926e851716c5ac GIT binary patch literal 76720 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 +# $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ +# $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $ +# +# +# +# +# $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ +# ---------------------------------------------------------------------- + +all:: + +.SUFFIXES: .i + +# $XdotOrg: xc/config/cf/Imake.cf,v 1.7 2005/03/02 11:20:29 gisburn Exp $ +# $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $ + +# $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $ + +# ----------------------------------------------------------------------- +# site-specific configuration parameters that need to come before +# the platform-specific parameters - edit site.def to change + +# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ + +# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ + +# $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ + +# ---------------------------------------------------------------------- +# platform-specific configuration parameters - edit linux.cf to change + +# $XdotOrg: xc/config/cf/linux.cf,v 1.24 2005/03/06 01:05:00 branden Exp $ +# platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ + +# platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ + +# operating system: Linux 6.8.0-107-generic x86_64 [ELF] (6.8.0) +# libc: (6.39.0) +# binutils: (242) + +# $Xorg: lnxLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ +# $XFree86: xc/config/cf/lnxLib.rules,v 3.52 2003/10/31 20:49:03 herrb Exp $ + +# $XdotOrg: xc/config/cf/xorg.cf,v 1.44 2005/01/27 03:50:46 ajax Exp $ + +# $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $ + +XORG_VERSION_CURRENT = (((7) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0) +RELEASE_VERSION = RELEASE-1 + +AFB_DEFS = -DUSE_AFB + +DRIVERSDKDIR = $(USRLIBDIR)/Server +DRIVERSDKMODULEDIR = $(USRLIBDIR)/Server/modules +DRIVERSDKINCLUDEDIR = $(USRLIBDIR)/Server/include + + XF86SRC = $(SERVERSRC)/hw/xfree86 + XF86COMSRC = $(XF86SRC)/common + XF86PARSERSRC = $(XF86SRC)/parser + XF86OSSRC = $(XF86SRC)/os-support + XF86DRIVERSRC = $(XF86SRC)/drivers + DRIVERSRC = $(XF86DRIVERSRC) + + XFREE86DOCDIR = $(DOCDIR) + XFREE86PSDOCDIR = $(DOCPSDIR) + XFREE86PDFDOCDIR = $(DOCPDFDIR) + XFREE86HTMLDOCDIR = $(DOCHTMLDIR) +XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese + +# $Xorg: xf86.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ + +# $XFree86: xc/config/cf/xf86.rules,v 3.34tsi Exp $ + + SELINUX_LDFLAGS = + + SELINUX_INCLUDES = -I/usr/include/selinux + + SELINUX_CFLAGS = -DHAVE_SELINUX + + SELINUX_LIBS = -lselinux + +# ---------------------------------------------------------------------- +# site-specific configuration parameters that go after +# the platform-specific parameters - edit site.def to change + +# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ + +# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ + +# --------------------------------------------------------------------- +# Imake rules for building libraries, programs, scripts, and data files +# rules: $Xorg: Imake.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ +# rules: $XdotOrg: xc/config/cf/Imake.rules,v 1.8 2005/02/01 22:27:00 ajax Exp $ +# +# +# +# +# rules: $XFree86: xc/config/cf/Imake.rules,v 3.128 2003/11/15 03:25:17 dawes Exp $ + +.PHONY: all interfaces install install.man install.lib install.sdk depend includes cleandir + + _NULLCMD_ = @ echo -n + +X_BYTE_ORDER = X_LITTLE_ENDIAN + +GLIDE2INCDIR = + +GLIDE3INCDIR = /usr/include/glide3 + +GLIDE3LIBNAME = glide3 + +TKLIBNAME = tk8.4 + +TKLIBDIR = /usr/lib + +TCLLIBNAME = tcl8.4 + +TCLIBDIR = /usr/lib + + PATHSEP = / + SHELL = /bin/sh -e + + TOP = . + CURRENT_DIR = . + + IMAKE = imake + DEPEND = gccmakedep + MKDIRHIER = mkdir -p + REVPATH = revpath + EXPORTLISTGEN = + RMAN = /usr/bin/rman + RMANBASENAME = rman + RMANOPTIONS = + CONFIGSRC = $(TOP)/config + IMAKESRC = $(CONFIGSRC)/imake + DEPENDSRC = $(CONFIGSRC)/util + + INCROOT = /usr/include + USRLIBDIR = /usr/lib + VARDIR = /var + VARLIBDIR = $(VARDIR)/lib + SYSTEMUSRLIBDIR = /usr/lib + SYSTEMUSRINCDIR = /usr/include + SHLIBDIR = /usr/lib + LINTLIBDIR = $(USRLIBDIR)/lint + MANPATH = /usr/share/man + MANSOURCEPATH = $(MANPATH)/man + MANDIR = $(MANSOURCEPATH)$(MANSECT) + SYSCALLMANDIR = $(MANSOURCEPATH)$(SYSCALLMANSECT) + LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSECT) + DRIVERMANDIR = $(MANSOURCEPATH)4 + FILEMANDIR = $(MANSOURCEPATH)$(FILEMANSECT) + GAMEMANDIR = $(MANSOURCEPATH)$(GAMEMANSECT) + MISCMANDIR = $(MANSOURCEPATH)7 + ADMMANDIR = $(MANSOURCEPATH)$(ADMMANSECT) + ICONDIR = "/usr/share/icons" + XCURSORPATH = "~/.icons:/usr/share/icons:/usr/share/pixmaps" + DRIVERMANDIR = $(MANSOURCEPATH)4 + LOGDIRECTORY = $(VARDIR)/log + + VARRUNDIR = $(VARDIR)/run + + VARDBDIR = $(VARDIR)/lib + + AR = ar cq + +# Nice try but useless: make will inherit BOOTSTRAPCFLAGS +# from top Makefile + BOOTSTRAPCFLAGS = + + CC = gcc + AS = gcc -c -x assembler + +.SUFFIXES: .cc + + CXX = c++ + + CXXFILT = c++filt + + CXXLIB = -lstdc++ + + CXXDEBUGFLAGS = -g -O2 -fno-strict-aliasing +CXXDEPENDINCLUDES = + CXXEXTRA_DEFINES = +CXXEXTRA_INCLUDES = + CXXSTD_DEFINES = -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(CXXPROJECT_DEFINES) + CXXOPTIONS = + CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) + CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) + CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) + + COMPRESS = compress + GZIPCMD = gzip -n + + CPP = cpp $(STD_CPP_DEFINES) + RAWCPP = cpp -undef $(STD_CPP_OPTIONS) + PREPROCESSCMD = gcc -E $(STD_CPP_DEFINES) + + INSTALL = install + INSTALLFLAGS = -c + + LD = gcc -nostdlib + + LEX = flex -l + M4 = m4 + M4FLAGS = + LEXLIB = -lfl + YACC = bison -y + CCYACC = bison -y + + LINT = lint + + LINTLIBFLAG = -C + LINTOPTS = -axz + LN = ln -s + MAKE = make + MV = mv -f + CP = cp + + RANLIB = ranlib + + RANLIBINSTFLAGS = + + RM = rm -f + PERL = perl + PERLOPTS = + PERLENVSETUP = env LC_ALL=C + + MANSECT = 1 + SYSCALLMANSECT = 2 + LIBMANSECT = 3 + DRIVERMANSECT = 4 + FILEMANSECT = 5 + GAMEMANSECT = 6 + MISCMANSECT = 7 + ADMMANSECT = 8 + MANSRCSECT = s + MANNEWSECT = n + PROJECTMANSUFFIX = x + MANSUFFIX = $(MANSECT)$(PROJECTMANSUFFIX) + SYSCALLMANSUFFIX = $(SYSCALLMANSECT)$(PROJECTMANSUFFIX) + LIBMANSUFFIX = $(LIBMANSECT)$(PROJECTMANSUFFIX) + DRIVERMANSUFFIX = 4x + FILEMANSUFFIX = $(FILEMANSECT)$(PROJECTMANSUFFIX) + GAMEMANSUFFIX = $(GAMEMANSECT)$(PROJECTMANSUFFIX) + MISCMANSUFFIX = 7x + ADMMANSUFFIX = $(ADMMANSECT)$(PROJECTMANSUFFIX) + ADMINMANSUFFIX = 8 + MANSRCSUFFIX = man + MANNEWSUFFIX = _man + MANDEFS = -D__apploaddir__=$(XAPPLOADDIR) -D__filemansuffix__=$(FILEMANSECT)$(PROJECTMANSUFFIX) -D__osfilemansuffix__=$(FILEMANSECT) -D__libmansuffix__=$(LIBMANSECT)$(PROJECTMANSUFFIX) -D__oslibmansuffix__=$(LIBMANSECT) -D__mansuffix__=$(MANSECT)$(PROJECTMANSUFFIX) -D__osmansuffix__=$(MANSECT) -D__syscallmansuffix__=$(SYSCALLMANSECT)$(PROJECTMANSUFFIX) -D__ossysmansuffix__=$(SYSCALLMANSECT) -D__gamemansuffix__=$(GAMEMANSECT)$(PROJECTMANSUFFIX) -D__osgamemansuffix__=$(GAMEMANSECT) -D__miscmansuffix__=$(MISCMANSECT)$(PROJECTMANSUFFIX) -D__osmiscmansuffix__=$(MISCMANSECT) -D__admmansuffix__=$(ADMMANSECT)$(PROJECTMANSUFFIX) -D__osadmmansuffix__=$(ADMMANSECT) -D__miscmansuffix__=$(MISCMANSECT)$(PROJECTMANSUFFIX) -D__osmiscmansuffix__=$(MISCMANSECT) -D__drivermansuffix__=$(DRIVERMANSECT)$(PROJECTMANSUFFIX) -D__osdrivermansuffix__=$(DRIVERMANSECT) -D__adminmansuffix__=$(ADMINMANSUFFIX) -D__projectroot__=$(PROJECTROOT) -D__xconfigfile__=$(XCONFIGFILE) -D__xconfigdir__=$(XCONFIGDIR) -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) -D__appmansuffix__=$(MANSECT)$(PROJECTMANSUFFIX) $(XORGMANDEFS) $(VENDORMANDEFS) + + COMPRESSMANCMD = gzip -n + + TROFF = groff -Tps + NROFF = nroff + + MSMACROS = -ms + MANMACROS = -man + TBL = tbl + EQN = eqn + NEQN = neqn + COL = col + COLFLAGS = -b + + MODCC = gcc + + MODCPP = cpp + MODCFLAGS = $(CFLAGS) + MODAS = gcc -c -x assembler + MODASFLAGS = + + MODLD = gcc -nostdlib + + MODLDFLAGS = +MODLDCOMBINEFLAGS = -r + MODAR = ar cq + + MODRANLIB = ranlib + + DVIPS = dvips + LATEX = latex + + STD_INCLUDES = + STD_CPP_OPTIONS = -traditional + STD_CPP_DEFINES = -traditional -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) + STD_DEFINES = -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) + EXTRA_LOAD_FLAGS = + EXTRA_LDOPTIONS = + EXTRA_LIBRARIES = + TAGS = ctags + + PARALLELMFLAGS = + + SHAREDCODEDEF = + SHLIBDEF = + + SHLIBLDFLAGS = -shared $(SHLIBGLOBALSFLAGS) + + NOSTDLIB = -nostdlib + POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic + + PICFLAGS = -fPIC + + CXXPICFLAGS = -fPIC + + PROTO_DEFINES = -DFUNCPROTO=15 -DNARROWPROTO + + INSTPGMFLAGS = + + INSTBINFLAGS = -m 0755 + INSTUIDFLAGS = -m 4711 + INSTLIBFLAGS = -m 0644 + INSTINCFLAGS = -m 0444 + INSTMANFLAGS = -m 0444 + INSTDATFLAGS = -m 0444 + INSTKMEMFLAGS = -m 4711 + + PROJECTROOT = /usr + + CDEBUGFLAGS = -g -O2 -fno-strict-aliasing + CCOPTIONS = + + ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) + ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) + CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) + LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) + LDPRELIB = $(INSTALLED_LIBS) + LDPOSTLIB = + LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + + LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) + + CCLINK = $(CC) + + CXXLINK = $(CXX) + + LDSTRIPFLAGS = -x + LDCOMBINEFLAGS = -r + DEPENDFLAGS = + DEPEND_DEFINES = + +# Not sure this belongs here + TKLIBDIR = /usr/lib + TKINCDIR = /usr/include + TKLIBNAME = tk8.4 + TKLIBRARY = -L$(TKLIBDIR) -l$(TKLIBNAME) + TCLLIBDIR = /usr/lib + TCLINCDIR = /usr/include + TCLLIBNAME = tcl8.4 + TCLLIBRARY = -L$(TCLLIBDIR) -l$(TCLLIBNAME) + + MACROFILE = linux.cf + RM_CMD = $(RM) + + IMAKE_DEFINES = + IMAKE_WARNINGS = -Wundef + + IRULESRC = $(CONFIGDIR) + IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) + + ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xorgsite.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES) + +# $Xorg: X11.rules,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ + +# $XFree86: xc/config/cf/X11.rules,v 1.6 2001/01/17 16:22:31 dawes Exp $ + +# ---------------------------------------------------------------------- +# X Window System Build Parameters and Rules +# $XdotOrg: xc/config/cf/X11.tmpl,v 1.52 2005/09/22 23:54:18 alanc Exp $ +# $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $ +# +# +# +# +# $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $ + +XORGRELSTRING = `echo 7 7 0 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` + XORGMANNAME = X Version 11 + +STICKY_DEFINES = -DHAS_STICKY_DIR_BIT + +FCHOWN_DEFINES = -DHAS_FCHOWN + +# ----------------------------------------------------------------------- +# X Window System make variables; these need to be coordinated with rules + + XTOP = $(TOP) + BINDIR = /usr/bin + BUILDINCROOT = $(TOP)/exports + BUILDINCDIR = $(BUILDINCROOT)/include + BUILDINCTOP = ../.. + BUILDLIBDIR = $(TOP)/exports/lib + BUILDLIBTOP = ../.. + BUILDBINDIR = $(TOP)/exports/bin + BUILDBINTOP = ../.. + BUILDMODULEDIR = $(BUILDLIBDIR)/modules + BUILDI18NDIR = $(BUILDLIBDIR)/locale + BUILDMODULETOP = $(BUILDLIBTOP)/.. + XBUILDINCROOT = $(XTOP)/exports + XBUILDINCDIR = $(XBUILDINCROOT)/include/X11 + XBUILDINCTOP = ../../.. + XBUILDBINDIR = $(XBUILDINCROOT)/bin + INCDIR = $(INCROOT) + ADMDIR = /usr/adm + LIBDIR = /usr/lib/X11 + SHAREDIR = /usr/share/X11 + LIBEXECDIR = /usr/libexec + MODULEDIR = $(USRLIBDIR)/modules + TOP_X_INCLUDES = + XBINDIR = $(PROJECTROOT)/bin + + INSTSRCDIR = /usr/src + + ETCX11DIR = /etc/X11 + + CONFDIR = $(ETCX11DIR) + + DOCDIR = $(LIBDIR)/doc + DOCHTMLDIR = $(DOCDIR)/html + DOCPSDIR = $(DOCDIR)/PostScript + DOCPDFDIR = $(DOCDIR)/PDF + FONTDIR = ${datarootdir}/fonts/X11 + FONTROOTDIR = ${datarootdir}/fonts/X11 + ENCODINGSDIR = ${FONTROOTDIR}/encodings + XINITDIR = $(LIBDIR)/xinit + XDMDIR = $(LIBDIR)/xdm + XDMVARDIR = $(VARLIBDIR)/xdm + TWMDIR = $(LIBDIR)/twm + XSMDIR = $(LIBDIR)/xsm + NLSDIR = $(LIBDIR)/nls + XLOCALEDIR = $(LIBDIR)/locale + LBXPROXYDIR = $(LIBDIR)/lbxproxy + PROXYMANAGERDIR = $(LIBDIR)/proxymngr + XPRINTDIR = $(LIBDIR)/xserver + XAPPLOADDIR = /etc/X11/app-defaults + FONTCFLAGS = -t + + INSTAPPFLAGS = $(INSTDATFLAGS) + + RGB = $(XBINDIR)/rgb + FONTC = $(XBINDIR)/bdftopcf + MKFONTSCALE = $(XBINDIR)/mkfontscale + MKFONTDIR = $(XBINDIR)/mkfontdir + MKHTMLINDEX = $(XBINDIR)/mkhtmlindex + UCS2ANY = $(XBINDIR)/ucs2any + BDFTRUNCATE = $(XBINDIR)/bdftruncate + UCSMAPPREFIX = $(FONTDIR)/util/map- + XCURSORGEN = $(XBINDIR)/xcursorgen + + HTMLINDEXCMD = HtmlIndexCmd + + DOCUTILSRC = $(XTOP)/doc/util + CLIENTSRC = $(TOP)/clients + DEMOSRC = $(TOP)/demos + XDOCMACROS = $(DOCUTILSRC)/macros.t + XIDXMACROS = $(DOCUTILSRC)/indexmacros.t + PROGRAMSRC = $(TOP)/programs + LIBSRC = $(XTOP)/lib + FONTSRC = $(XTOP)/fonts + ENCODINGSSRC = $(FONTSRC)/encodings + INCLUDESRC = $(BUILDINCROOT)/include + XINCLUDESRC = $(INCLUDESRC)/X11 + SERVERSRC = $(XTOP)/programs/Xserver + CONTRIBSRC = $(XTOP)/../contrib + UNSUPPORTEDSRC = $(XTOP)/unsupported + DOCSRC = $(XTOP)/doc + RGBSRC = $(XTOP)/programs/rgb + BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf + MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir + FONTSERVERSRC = $(PROGRAMSRC)/xfs + FONTINCSRC = $(XTOP)/include/fonts + EXTINCSRC = $(XTOP)/include/extensions + FTSOURCEDIR = FreeTypeSrcDir + DRMSRCDIR = $(TOP)/extras/drm + MESASRCDIR = $(TOP)/extras/Mesa + OGLSAMPLESRCDIR = $(TOP)/extras/ogl-sample + PSWRAPSRC = $(XTOP)/config/pswrap + TRANSCOMMSRC = $(LIBSRC)/xtrans + TRANS_INCLUDES = -I$(TRANSCOMMSRC) + CONNECTION_FLAGS = -DUNIXCONN -DTCPCONN $(STICKY_DEFINES) $(FCHOWN_DEFINES) -DIPv6 +XTRANS_FAILDEFINES = -DFAIL_HARD + + VENDORMANNAME = X.Org + VENDORMANVERSION = `echo 7 7 0 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` + XORGMANDEFS = -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" + VENDORMANDEFS = -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)" + VENDORNAME = The X.Org Foundation + VENDORNAMESHORT = X.Org + + VENDORWEBSUPPORT = http://wiki.X.Org + +VENDORSUPPORTDEFS = -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"' + + XKBDEFRULES = xorg + XKBDEFRULESDEFS = -D__XKBDEFRULES__='"$(XKBDEFRULES)"' + + XCONFIGFILE = xorg.conf + XCONFIGDIR = $(LIBDIR) + XLOGFILE = Xorg + XSERVERNAME = Xorg + + XENVLIBDIR = $(USRLIBDIR) + CLIENTENVSETUP = LD_LIBRARY_PATH=$(XENVLIBDIR) XLOCALEDIR=$(BUILDLIBDIR)/locale + +# $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ +# $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $ + + XLIBSRC = $(LIBSRC)/X11 + +SOXLIBREV = 6.2 +DEPXONLYLIB = +XONLYLIB = -lX11 + +LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln + + DEPXLIBONLY = $(DEPXONLYLIB) + XLIBONLY = $(XONLYLIB) + LINTXONLYLIB = $(LINTXONLY) + + XEXTLIBSRC = $(LIBSRC)/Xext + +SOXEXTREV = 6.4 +DEPEXTENSIONLIB = +EXTENSIONLIB = -lXext + +LINTEXTENSION = $(LINTLIBDIR)/llib-lXext.ln + +LINTEXTENSIONLIB = $(LINTEXTENSION) + DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB) + XLIB = $(EXTENSIONLIB) $(XONLYLIB) + LINTXLIB = $(LINTXONLYLIB) + + XSSLIBSRC = $(LIBSRC)/Xss + +SOXSSREV = 1.0 +DEPXSSLIB = +XSSLIB = -lXss + +LINTXSS = $(LINTLIBDIR)/llib-lXss.ln + + XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc + +SOXXF86MISCREV = 1.1 +DEPXXF86MISCLIB = +XXF86MISCLIB = -lXxf86misc + +LINTXXF86MISC = $(LINTLIBDIR)/llib-lXxf86misc.ln + + XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm + +SOXXF86VMREV = 1.0 +DEPXXF86VMLIB = +XXF86VMLIB = -lXxf86vm + +LINTXXF86VM = $(LINTLIBDIR)/llib-lXxf86vm.ln + + XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga + +SOXXF86DGAREV = 1.0 +DEPXXF86DGALIB = +XXF86DGALIB = -lXxf86dga + +LINTXXF86DGA = $(LINTLIBDIR)/llib-lXxf86dga.ln + + XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush + +SOXXF86RUSHREV = 1.0 +DEPXXF86RUSHLIB = +XXF86RUSHLIB = -lXxf86rush + +LINTXXF86RUSH = $(LINTLIBDIR)/llib-lXxf86rush.ln + + XVLIBSRC = $(LIBSRC)/Xv + +SOXVREV = 1.0 +DEPXVLIB = +XVLIB = -lXv + +LINTXV = $(LINTLIBDIR)/llib-lXv.ln + + XVMCLIBSRC = $(LIBSRC)/XvMC + +SOXVMCREV = 1.0 +DEPXVMCLIB = +XVMCLIB = -lXvMC + +LINTXVMC = $(LINTLIBDIR)/llib-lXvMC.ln + + XINERAMALIBSRC = $(LIBSRC)/Xinerama + +SOXINERAMAREV = 1.0 +DEPXINERAMALIB = +XINERAMALIB = -lXinerama + +LINTXINERAMA = $(LINTLIBDIR)/llib-lXinerama.ln + + XRESLIBSRC = $(LIBSRC)/XRes + +SOXRESREV = 1.0 +DEPXRESLIB = +XRESLIB = -lXRes + +LINTXRES = $(LINTLIBDIR)/llib-lXRes.ln + + DMXLIBSRC = $(LIBSRC)/dmx + +SODMXREV = 1.0 +DEPDMXLIB = +DMXLIB = -ldmx + +LINTDMX = $(LINTLIBDIR)/llib-ldmx.ln + + DPSLIBSRC = $(LIBSRC)/dps + +DEPDPSLIB = $(USRLIBDIR)/libdps.a +DPSLIB = -ldps + +LINTDPS = $(LINTLIBDIR)/llib-ldps.ln + + DPSTKLIBSRC = $(LIBSRC)/dpstk + +DEPDPSTKLIB = $(USRLIBDIR)/libdpstk.a +DPSTKLIB = -ldpstk + +LINTDPSTK = $(LINTLIBDIR)/llib-ldpstk.ln + + PSRESLIBSRC = $(LIBSRC)/psres + +DEPPSRESLIB = $(USRLIBDIR)/libpsres.a +PSRESLIB = -lpsres + +LINTPSRES = $(LINTLIBDIR)/llib-lpsres.ln + + GLULIBSRC = $(LIBSRC)/GLU + +SOGLUREV = 1.3 +DEPGLULIB = +GLULIB = -lGLU + +LINTGLU = $(LINTLIBDIR)/llib-lGLU.ln + + GLXLIBSRC = $(LIBSRC)/GL + +SOGLREV = 1.2 +DEPGLXLIB = +GLXLIB = -lGL + +LINTGLX = $(LINTLIBDIR)/llib-lGL.ln + + GLWIDGETSRC = $(LIBSRC)/GLw + +DEPGLWLIB = $(USRLIBDIR)/libGLw.a +GLWLIB = -lGLw + +LINTGLW = $(LINTLIBDIR)/llib-lGLw.ln + +XRENDERDIR = /usr +XRENDERLIBDIR = /usr/lib +XRENDERINCDIR = /usr/include +XRENDERLIB = -L$(XRENDERLIBDIR) -lXrender +DEPXRENDERLIB = + +XRENDERINCLUDES = -I$(XRENDERINCDIR) + + XRANDRLIBSRC = $(LIBSRC)/Xrandr + +SOXRANDRREV = 2.0 +DEPXRANDRLIB = +XRANDRLIB = -lXrandr + +LINTXRANDR = $(LINTLIBDIR)/llib-lXrandr.ln + + XFIXESLIBSRC = $(LIBSRC)/Xfixes + +SOXFIXESREV = 3.0 +DEPXFIXESLIB = +XFIXESLIB = -lXfixes + +LINTXFIXES = $(LINTLIBDIR)/llib-lXfixes.ln + + XDAMAGELIBSRC = $(LIBSRC)/Xdamage + +SOXDAMAGEREV = 1.0 +DEPXDAMAGELIB = +XDAMAGELIB = -lXdamage + +LINTXDAMAGE = $(LINTLIBDIR)/llib-lXdamage.ln + +XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite + +SOXCOMPOSITEREV = 1.0 +DEPXCOMPOSITELIB = +XCOMPOSITELIB = -lXcomposite + +LINTXCOMPOSITE = $(LINTLIBDIR)/llib-lXcomposite.ln + +XEVIELIBSRC = $(LIBSRC)/Xevie + +SOXEVIEREV = 1.0 +DEPXEVIELIB = +XEVIELIB = -lXevie + +LINTXEVIE = $(LINTLIBDIR)/llib-lXevie.ln + +XCURSORDIR = /usr +XCURSORLIBDIR = /usr/lib +XCURSORINCDIR = /usr/include +XCURSORLIB = -L$(XCURSORLIBDIR) -lXcursor + +XCURSORINCLUDES=-I$(XCURSORINCDIR) $(XRENDERINCLUDES) + + APPLEWMLIBSRC = $(LIBSRC)/apple + +DEPAPPLEWMLIB = $(USRLIBDIR)/libAppleWM.a +APPLEWMLIB = -lAppleWM + +LINTAPPLEWM = $(LINTLIBDIR)/llib-lAppleWM.ln + + WINDOWSWMLIBSRC = $(LIBSRC)/windows + +DEPWINDOWSWMLIB = $(USRLIBDIR)/libWindowsWM.a +WINDOWSWMLIB = -lWindowsWM + +LINTWINDOWSWM = $(LINTLIBDIR)/llib-lWindowsWM.ln + + XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache + +DEPXFONTCACHELIB = $(USRLIBDIR)/libXfontcache.a +XFONTCACHELIB = -lXfontcache + +LINTXFONTCACHE = $(LINTLIBDIR)/llib-lXfontcache.ln + + XAUTHSRC = $(LIBSRC)/Xau + +SOXAUTHREV = 6.0 +DEPXAUTHLIB = +XAUTHLIB = -lXau + +LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln + + XDMCPLIBSRC = $(LIBSRC)/Xdmcp + +SOXDMCPREV = 6.0 +DEPXDMCPLIB = +XDMCPLIB = -lXdmcp + +LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln + + XMUSRC = $(LIBSRC)/Xmu + +SOXMUREV = 6.2 +DEPXMULIB = +XMULIB = -lXmu + +LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln + + XMUUSRC = $(LIBSRC)/Xmuu + +SOXMUUREV = 1.0 +DEPXMUULIB = +XMUULIB = -lXmuu + +LINTXMUU = $(LINTLIBDIR)/llib-lXmuu.ln + + OLDXLIBSRC = $(LIBSRC)/oldX + +DEPOLDXLIB = $(USRLIBDIR)/liboldX.a +OLDXLIB = -loldX + +LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln + + XPLIBSRC = $(LIBSRC)/Xp + +SOXPREV = 6.2 +DEPXPLIB = +XPLIB = -lXp + +LINTXP = $(LINTLIBDIR)/llib-lXp.ln + + TOOLKITSRC = $(LIBSRC)/Xt + +SOXTREV = 6.0 +DEPXTOOLONLYLIB = +XTOOLONLYLIB = -lXt + +LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln + + DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB) + XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB) + LINTXTOOLLIB = $(LINTXTOOLONLYLIB) + + XALIBSRC = $(LIBSRC)/Xa + +SOXAREV = 1.0 +DEPXALIB = +XALIB = -lXa + +LINTXA = $(LINTLIBDIR)/llib-lXa.ln + + AWIDGETSRC = $(LIBSRC)/Xaw + +SOXAWREV = 8.0 +DEPXAWLIB = +XAWLIB = -lXaw + +LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln + + AWIDGET7SRC = $(LIBSRC)/Xaw7 + +SOXAW7REV = 7.0 +DEPXAW7LIB = +XAW7LIB = -lXaw + +LINTXAW7 = $(LINTLIBDIR)/llib-lXaw.ln + + AWIDGET6SRC = $(LIBSRC)/Xaw6 + +SOXAW6REV = 6.1 +DEPXAW6LIB = +XAW6LIB = -lXaw + +LINTXAW6 = $(LINTLIBDIR)/llib-lXaw.ln + + XILIBSRC = $(LIBSRC)/Xi + +SOXINPUTREV = 6.0 +DEPXILIB = +XILIB = -lXi + +LINTXI = $(LINTLIBDIR)/llib-lXi.ln + + XTESTLIBSRC = $(LIBSRC)/Xtst + +SOXTESTREV = 6.1 +DEPXTESTLIB = +XTESTLIB = -lXtst + +LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln + +DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a +XBSDLIB = -lXbsd + +LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln + + ICESRC = $(LIBSRC)/ICE + +SOICEREV = 6.4 +DEPICELIB = +ICELIB = -lICE + +LINTICE = $(LINTLIBDIR)/llib-lICE.ln + + SMSRC = $(LIBSRC)/SM + +SOSMREV = 6.0 +DEPSMLIB = +SMLIB = -lSM + +LINTSM = $(LINTLIBDIR)/llib-lSM.ln + + XKEYSRC = $(LIBSRC)/Xkey + +SOXKEYREV = 6.0 +DEPXKEYLIB = +XKEYLIB = -lXkey + +LINTXKEY = $(LINTLIBDIR)/llib-lXkey.ln + + FSLIBSRC = $(LIBSRC)/FS + +SOFSREV = 6.0 +DEPFSLIB = +FSLIB = -lFS + +LINTFS = $(LINTLIBDIR)/llib-lFS.ln + + FONTLIBSRC = $(LIBSRC)/font + +DEPFONTLIB = $(USRLIBDIR)/libXfont.a +FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) -lXfont + +LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln +# +DEPXFONTLIB = $(USRLIBDIR)/libXfont.a +XFONTLIB = -lXfont + +LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln + + FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs + +DEPFONTSTUBLIB = $(USRLIBDIR)/libfntstubs.a +FONTSTUBLIB = -lfntstubs + +LINTFONTSTUB = $(LINTLIBDIR)/llib-lfntstubs.ln + DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB) + FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB) + + FONTENCLIBSRC = $(LIBSRC)/fontenc + +DEPXFONTENCLIB = $(USRLIBDIR)/libfontenc.a +XFONTENCLIB = -lfontenc + +LINTXFONTENC = $(LINTLIBDIR)/llib-lfontenc.ln + + XPMLIBSRC = $(LIBSRC)/Xpm + +SOXPMREV = 4.11 +DEPXPMLIB = +XPMLIB = -lXpm + +LINTXPM = $(LINTLIBDIR)/llib-lXpm.ln + +FREETYPE2DIR = /usr +FREETYPE2LIBDIR = /usr/lib +FREETYPE2INCDIR = /usr/include + +FREETYPE2LIB = -lfreetype + +FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config + +FREETYPE2DEFINES = -DFREETYPE2 + + EXPATLIBSRC = $(LIBSRC)/expat + +SOEXPATREV = 0.4 +DEPEXPATLIB = +EXPATLIB = -lexpat + +LINTEXPAT = $(LINTLIBDIR)/llib-lexpat.ln + +EXPATDIR = /usr +EXPATLIBDIR = /usr/lib +EXPATINCDIR = /usr/include + +EXPATINCLUDES = + +EXPATLIB = -lexpat + +EXPATDEFINES = -DEXPAT + +XFTDIR = /usr +XFTLIBDIR = /usr/lib +XFTINCDIR = /usr/include +XFTLIB = -L$(XFTLIBDIR) -lXft + +XFTINCLUDES= -I$(XFTINCDIR) $(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) $(XRENDERINCLUDES) + +FONTCONFIGDIR = /usr +FONTCONFIGLIBDIR = /usr/lib +FONTCONFIGINCDIR = /usr/include +FONTCONFIGBINDIR = /usr/bin + +FONTCONFIGLIB = -lfontconfig + +FONTCONFIGINCLUDES = + +FCCACHE = $(FONTCONFIGBINDIR)/fc-cache + +FONTCONFIGDEFINES = -DFONTCONFIG + +LIBPNGINCDIR = /usr/include + +LIBPNGINC= + +LIBPNGDIR = /usr +LIBPNGLIBDIR = /usr/lib +LIBPNGINCDIR = /usr/include + +LIBPNGLIB = -lpng + + XKBFILELIBSRC = $(LIBSRC)/xkbfile + +SOXKBFILEREV = 1.0 +DEPXKBFILELIB = +XKBFILELIB = -lxkbfile + +LINTXKBFILE = $(LINTLIBDIR)/llib-lxkbfile.ln + + XKBCOMPCMD = $(XBINDIR)/xkbcomp + + XKBUILIBSRC = $(LIBSRC)/xkbui + +SOXKBUIREV = 1.0 +DEPXKBUILIB = +XKBUILIB = -lxkbui + +LINTXKBUI = $(LINTLIBDIR)/llib-lxkbui.ln + +EXTRAXAWREQS = + +EXTRAXAWCLIENTDEPLIBS = + +EXTRAXAWCLIENTLIBS = + + XTRAPLIBSRC = $(LIBSRC)/XTrap + +SOXTRAPREV = 6.4 +DEPXTRAPLIB = +XTRAPLIB = -lXTrap + +LINTXTRAP = $(LINTLIBDIR)/llib-lXTrap.ln + + DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) + + DEPLIBS1 = $(DEPLIBS) + DEPLIBS2 = $(DEPLIBS) + DEPLIBS3 = $(DEPLIBS) + DEPLIBS4 = $(DEPLIBS) + DEPLIBS5 = $(DEPLIBS) + DEPLIBS6 = $(DEPLIBS) + DEPLIBS7 = $(DEPLIBS) + DEPLIBS8 = $(DEPLIBS) + DEPLIBS9 = $(DEPLIBS) + DEPLIBS10 = $(DEPLIBS) + + XFTPRELOADPATTERN = libXft.so.? + XRENDERPRELOADPATTERN = libXrender.so.? + XFONTPRELOADPATTERN = libXfont*.so.? + +XMULIBONLY = -lXmu +XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB) + + CONFIGDIR = $(LIBDIR)/config + + USRLIBDIRPATH = $(USRLIBDIR) + LDPRELIBS = $(INSTALLED_LIBS) + LDPOSTLIBS = + TOP_INCLUDES = $(TOP_X_INCLUDES) + PROJECT_DEFINES = + VENDOR_DEFINES = -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"' + +CXXPROJECT_DEFINES = + +# ---------------------------------------------------------------------- +# start of Imakefile + +# Cannot compile in using Gcc +# CC = cc + +LOCAL_LIBRARIES = $(XLIB) + DEPLIBS = $(DEPXLIB) + DEFINES = -DSHAPE + + OBJS = CrosshairCursor.o + SRCS = CrosshairCursor.c + + PROGRAM = CrosshairCursor + +all:: CrosshairCursor + +CrosshairCursor: $(OBJS) $(DEPLIBS) + $(RM) $@ + $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) + +install:: CrosshairCursor + @if [ -d $(DESTDIR)$(BINDIR) ]; then \ + set +x; \ + else \ + if [ -h $(DESTDIR)$(BINDIR) ]; then \ + (set -x; rm -f $(DESTDIR)$(BINDIR)); \ + fi; \ + (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); \ + fi + $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) CrosshairCursor $(DESTDIR)$(BINDIR)/CrosshairCursor + +all:: CrosshairCursor.$(MANNEWSUFFIX) + +CrosshairCursor.$(MANNEWSUFFIX): CrosshairCursor.$(MANSRCSUFFIX) + $(RM) $@ + if test -z "$(PREPROCESSMANPAGES)" ; then \ + cd `dirname CrosshairCursor` && \ + $(LN) `basename CrosshairCursor.$(MANSRCSUFFIX)` `basename $@`; \ + else \ + $(RAWCPP) $(MANDEFS) $(EXTRAMANDEFS) \ + < CrosshairCursor.$(MANSRCSUFFIX) | sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/^#line *[0-9][0-9]* *.*$$/d' -e '/^[ ]*XCOMM$$/s/XCOMM/#/' -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' -e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$$/s/\@\@$$/\\/' >$@; \ + fi + +cleandir:: + $(RM) CrosshairCursor.$(MANNEWSUFFIX) + +install.man:: CrosshairCursor.$(MANNEWSUFFIX) + @if [ -d $(DESTDIR)$(MANDIR) ]; then \ + set +x; \ + else \ + if [ -h $(DESTDIR)$(MANDIR) ]; then \ + (set -x; rm -f $(DESTDIR)$(MANDIR)); \ + fi; \ + (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); \ + fi + $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) CrosshairCursor.$(MANNEWSUFFIX) $(DESTDIR)$(MANDIR)/CrosshairCursor.$(MANSUFFIX) + +depend:: + $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) + +lint: + $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) +lint1: + $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) + +cleandir:: + $(RM) CrosshairCursor + +# ---------------------------------------------------------------------- +# common rules for all Makefiles - do not edit + +.c.i: + $(RM) $@ + $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@ + +.SUFFIXES: .ii + +.cc.ii: + $(RM) $@ + $(CC) -E $(CFLAGS) $(_NOOP_) $*.cc > $@ + +.SUFFIXES: .s + +.c.s: + $(RM) $@ + $(CC) -S $(CFLAGS) $(_NOOP_) $*.c + +.cc.s: + $(RM) $@ + $(CC) -S $(CFLAGS) $(_NOOP_) $*.cc + +emptyrule:: + +cleandir:: + $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"* + +Makefile:: + -@if [ -f Makefile ]; then set -x; \ + $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ + else exit 0; fi + $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) + +tags:: + $(TAGS) -w *.[ch] + $(TAGS) -xw *.[ch] > TAGS + +man_keywords:: + +html_index:: + +clean:: cleandir + +distclean:: cleandir + + PREPROCESSMANPAGES = true + +# ---------------------------------------------------------------------- +# empty rules for directories that do not have SUBDIRS - do not edit + +install:: + @echo "install in $(CURRENT_DIR) done" + +install.man:: + @echo "install.man in $(CURRENT_DIR) done" + +install.sdk:: + @echo "install.sdk in $(CURRENT_DIR) done" + +Makefiles:: + +includes:: + +depend:: + +distclean:: + $(RM) Makefile Makefile.dep + +# ---------------------------------------------------------------------- +# dependencies generated by makedepend + diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Makefile.bak b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Makefile.bak new file mode 100644 index 00000000000..0b54f8ff6ed --- /dev/null +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Makefile.bak @@ -0,0 +1,1181 @@ +# Makefile generated by imake - do not edit! + +# ---------------------------------------------------------------------- +# Makefile generated from "Imake.tmpl" and +# $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ +# $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $ +# +# +# +# +# $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ +# ---------------------------------------------------------------------- + +all:: + +.SUFFIXES: .i + +# $XdotOrg: xc/config/cf/Imake.cf,v 1.7 2005/03/02 11:20:29 gisburn Exp $ +# $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $ + +# $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $ + +# ----------------------------------------------------------------------- +# site-specific configuration parameters that need to come before +# the platform-specific parameters - edit site.def to change + +# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ + +# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ + +# $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ + +# ---------------------------------------------------------------------- +# platform-specific configuration parameters - edit linux.cf to change + +# $XdotOrg: xc/config/cf/linux.cf,v 1.24 2005/03/06 01:05:00 branden Exp $ +# platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ + +# platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ + +# operating system: Linux 6.8.0-107-generic x86_64 [ELF] (6.8.0) +# libc: (6.39.0) +# binutils: (242) + +# $Xorg: lnxLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ +# $XFree86: xc/config/cf/lnxLib.rules,v 3.52 2003/10/31 20:49:03 herrb Exp $ + +# $XdotOrg: xc/config/cf/xorg.cf,v 1.44 2005/01/27 03:50:46 ajax Exp $ + +# $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $ + +XORG_VERSION_CURRENT = (((7) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0) +RELEASE_VERSION = RELEASE-1 + +AFB_DEFS = -DUSE_AFB + +DRIVERSDKDIR = $(USRLIBDIR)/Server +DRIVERSDKMODULEDIR = $(USRLIBDIR)/Server/modules +DRIVERSDKINCLUDEDIR = $(USRLIBDIR)/Server/include + + XF86SRC = $(SERVERSRC)/hw/xfree86 + XF86COMSRC = $(XF86SRC)/common + XF86PARSERSRC = $(XF86SRC)/parser + XF86OSSRC = $(XF86SRC)/os-support + XF86DRIVERSRC = $(XF86SRC)/drivers + DRIVERSRC = $(XF86DRIVERSRC) + + XFREE86DOCDIR = $(DOCDIR) + XFREE86PSDOCDIR = $(DOCPSDIR) + XFREE86PDFDOCDIR = $(DOCPDFDIR) + XFREE86HTMLDOCDIR = $(DOCHTMLDIR) +XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese + +# $Xorg: xf86.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ + +# $XFree86: xc/config/cf/xf86.rules,v 3.34tsi Exp $ + + SELINUX_LDFLAGS = + + SELINUX_INCLUDES = -I/usr/include/selinux + + SELINUX_CFLAGS = -DHAVE_SELINUX + + SELINUX_LIBS = -lselinux + +# ---------------------------------------------------------------------- +# site-specific configuration parameters that go after +# the platform-specific parameters - edit site.def to change + +# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ + +# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ + +# --------------------------------------------------------------------- +# Imake rules for building libraries, programs, scripts, and data files +# rules: $Xorg: Imake.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ +# rules: $XdotOrg: xc/config/cf/Imake.rules,v 1.8 2005/02/01 22:27:00 ajax Exp $ +# +# +# +# +# rules: $XFree86: xc/config/cf/Imake.rules,v 3.128 2003/11/15 03:25:17 dawes Exp $ + +.PHONY: all interfaces install install.man install.lib install.sdk depend includes cleandir + + _NULLCMD_ = @ echo -n + +X_BYTE_ORDER = X_LITTLE_ENDIAN + +GLIDE2INCDIR = + +GLIDE3INCDIR = /usr/include/glide3 + +GLIDE3LIBNAME = glide3 + +TKLIBNAME = tk8.4 + +TKLIBDIR = /usr/lib + +TCLLIBNAME = tcl8.4 + +TCLIBDIR = /usr/lib + + PATHSEP = / + SHELL = /bin/sh -e + + TOP = . + CURRENT_DIR = . + + IMAKE = imake + DEPEND = gccmakedep + MKDIRHIER = mkdir -p + REVPATH = revpath + EXPORTLISTGEN = + RMAN = /usr/bin/rman + RMANBASENAME = rman + RMANOPTIONS = + CONFIGSRC = $(TOP)/config + IMAKESRC = $(CONFIGSRC)/imake + DEPENDSRC = $(CONFIGSRC)/util + + INCROOT = /usr/include + USRLIBDIR = /usr/lib + VARDIR = /var + VARLIBDIR = $(VARDIR)/lib + SYSTEMUSRLIBDIR = /usr/lib + SYSTEMUSRINCDIR = /usr/include + SHLIBDIR = /usr/lib + LINTLIBDIR = $(USRLIBDIR)/lint + MANPATH = /usr/share/man + MANSOURCEPATH = $(MANPATH)/man + MANDIR = $(MANSOURCEPATH)$(MANSECT) + SYSCALLMANDIR = $(MANSOURCEPATH)$(SYSCALLMANSECT) + LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSECT) + DRIVERMANDIR = $(MANSOURCEPATH)4 + FILEMANDIR = $(MANSOURCEPATH)$(FILEMANSECT) + GAMEMANDIR = $(MANSOURCEPATH)$(GAMEMANSECT) + MISCMANDIR = $(MANSOURCEPATH)7 + ADMMANDIR = $(MANSOURCEPATH)$(ADMMANSECT) + ICONDIR = "/usr/share/icons" + XCURSORPATH = "~/.icons:/usr/share/icons:/usr/share/pixmaps" + DRIVERMANDIR = $(MANSOURCEPATH)4 + LOGDIRECTORY = $(VARDIR)/log + + VARRUNDIR = $(VARDIR)/run + + VARDBDIR = $(VARDIR)/lib + + AR = ar cq + +# Nice try but useless: make will inherit BOOTSTRAPCFLAGS +# from top Makefile + BOOTSTRAPCFLAGS = + + CC = gcc + AS = gcc -c -x assembler + +.SUFFIXES: .cc + + CXX = c++ + + CXXFILT = c++filt + + CXXLIB = -lstdc++ + + CXXDEBUGFLAGS = -g -O2 -fno-strict-aliasing +CXXDEPENDINCLUDES = + CXXEXTRA_DEFINES = +CXXEXTRA_INCLUDES = + CXXSTD_DEFINES = -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(CXXPROJECT_DEFINES) + CXXOPTIONS = + CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) + CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) + CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) + + COMPRESS = compress + GZIPCMD = gzip -n + + CPP = cpp $(STD_CPP_DEFINES) + RAWCPP = cpp -undef $(STD_CPP_OPTIONS) + PREPROCESSCMD = gcc -E $(STD_CPP_DEFINES) + + INSTALL = install + INSTALLFLAGS = -c + + LD = gcc -nostdlib + + LEX = flex -l + M4 = m4 + M4FLAGS = + LEXLIB = -lfl + YACC = bison -y + CCYACC = bison -y + + LINT = lint + + LINTLIBFLAG = -C + LINTOPTS = -axz + LN = ln -s + MAKE = make + MV = mv -f + CP = cp + + RANLIB = ranlib + + RANLIBINSTFLAGS = + + RM = rm -f + PERL = perl + PERLOPTS = + PERLENVSETUP = env LC_ALL=C + + MANSECT = 1 + SYSCALLMANSECT = 2 + LIBMANSECT = 3 + DRIVERMANSECT = 4 + FILEMANSECT = 5 + GAMEMANSECT = 6 + MISCMANSECT = 7 + ADMMANSECT = 8 + MANSRCSECT = s + MANNEWSECT = n + PROJECTMANSUFFIX = x + MANSUFFIX = $(MANSECT)$(PROJECTMANSUFFIX) + SYSCALLMANSUFFIX = $(SYSCALLMANSECT)$(PROJECTMANSUFFIX) + LIBMANSUFFIX = $(LIBMANSECT)$(PROJECTMANSUFFIX) + DRIVERMANSUFFIX = 4x + FILEMANSUFFIX = $(FILEMANSECT)$(PROJECTMANSUFFIX) + GAMEMANSUFFIX = $(GAMEMANSECT)$(PROJECTMANSUFFIX) + MISCMANSUFFIX = 7x + ADMMANSUFFIX = $(ADMMANSECT)$(PROJECTMANSUFFIX) + ADMINMANSUFFIX = 8 + MANSRCSUFFIX = man + MANNEWSUFFIX = _man + MANDEFS = -D__apploaddir__=$(XAPPLOADDIR) -D__filemansuffix__=$(FILEMANSECT)$(PROJECTMANSUFFIX) -D__osfilemansuffix__=$(FILEMANSECT) -D__libmansuffix__=$(LIBMANSECT)$(PROJECTMANSUFFIX) -D__oslibmansuffix__=$(LIBMANSECT) -D__mansuffix__=$(MANSECT)$(PROJECTMANSUFFIX) -D__osmansuffix__=$(MANSECT) -D__syscallmansuffix__=$(SYSCALLMANSECT)$(PROJECTMANSUFFIX) -D__ossysmansuffix__=$(SYSCALLMANSECT) -D__gamemansuffix__=$(GAMEMANSECT)$(PROJECTMANSUFFIX) -D__osgamemansuffix__=$(GAMEMANSECT) -D__miscmansuffix__=$(MISCMANSECT)$(PROJECTMANSUFFIX) -D__osmiscmansuffix__=$(MISCMANSECT) -D__admmansuffix__=$(ADMMANSECT)$(PROJECTMANSUFFIX) -D__osadmmansuffix__=$(ADMMANSECT) -D__miscmansuffix__=$(MISCMANSECT)$(PROJECTMANSUFFIX) -D__osmiscmansuffix__=$(MISCMANSECT) -D__drivermansuffix__=$(DRIVERMANSECT)$(PROJECTMANSUFFIX) -D__osdrivermansuffix__=$(DRIVERMANSECT) -D__adminmansuffix__=$(ADMINMANSUFFIX) -D__projectroot__=$(PROJECTROOT) -D__xconfigfile__=$(XCONFIGFILE) -D__xconfigdir__=$(XCONFIGDIR) -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) -D__appmansuffix__=$(MANSECT)$(PROJECTMANSUFFIX) $(XORGMANDEFS) $(VENDORMANDEFS) + + COMPRESSMANCMD = gzip -n + + TROFF = groff -Tps + NROFF = nroff + + MSMACROS = -ms + MANMACROS = -man + TBL = tbl + EQN = eqn + NEQN = neqn + COL = col + COLFLAGS = -b + + MODCC = gcc + + MODCPP = cpp + MODCFLAGS = $(CFLAGS) + MODAS = gcc -c -x assembler + MODASFLAGS = + + MODLD = gcc -nostdlib + + MODLDFLAGS = +MODLDCOMBINEFLAGS = -r + MODAR = ar cq + + MODRANLIB = ranlib + + DVIPS = dvips + LATEX = latex + + STD_INCLUDES = + STD_CPP_OPTIONS = -traditional + STD_CPP_DEFINES = -traditional -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) + STD_DEFINES = -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) + EXTRA_LOAD_FLAGS = + EXTRA_LDOPTIONS = + EXTRA_LIBRARIES = + TAGS = ctags + + PARALLELMFLAGS = + + SHAREDCODEDEF = + SHLIBDEF = + + SHLIBLDFLAGS = -shared $(SHLIBGLOBALSFLAGS) + + NOSTDLIB = -nostdlib + POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic + + PICFLAGS = -fPIC + + CXXPICFLAGS = -fPIC + + PROTO_DEFINES = -DFUNCPROTO=15 -DNARROWPROTO + + INSTPGMFLAGS = + + INSTBINFLAGS = -m 0755 + INSTUIDFLAGS = -m 4711 + INSTLIBFLAGS = -m 0644 + INSTINCFLAGS = -m 0444 + INSTMANFLAGS = -m 0444 + INSTDATFLAGS = -m 0444 + INSTKMEMFLAGS = -m 4711 + + PROJECTROOT = /usr + + CDEBUGFLAGS = -g -O2 -fno-strict-aliasing + CCOPTIONS = + + ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) + ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) + CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) + LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) + LDPRELIB = $(INSTALLED_LIBS) + LDPOSTLIB = + LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + + LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) + + CCLINK = $(CC) + + CXXLINK = $(CXX) + + LDSTRIPFLAGS = -x + LDCOMBINEFLAGS = -r + DEPENDFLAGS = + DEPEND_DEFINES = + +# Not sure this belongs here + TKLIBDIR = /usr/lib + TKINCDIR = /usr/include + TKLIBNAME = tk8.4 + TKLIBRARY = -L$(TKLIBDIR) -l$(TKLIBNAME) + TCLLIBDIR = /usr/lib + TCLINCDIR = /usr/include + TCLLIBNAME = tcl8.4 + TCLLIBRARY = -L$(TCLLIBDIR) -l$(TCLLIBNAME) + + MACROFILE = linux.cf + RM_CMD = $(RM) + + IMAKE_DEFINES = + IMAKE_WARNINGS = -Wundef + + IRULESRC = $(CONFIGDIR) + IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) + + ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xorgsite.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES) + +# $Xorg: X11.rules,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ + +# $XFree86: xc/config/cf/X11.rules,v 1.6 2001/01/17 16:22:31 dawes Exp $ + +# ---------------------------------------------------------------------- +# X Window System Build Parameters and Rules +# $XdotOrg: xc/config/cf/X11.tmpl,v 1.52 2005/09/22 23:54:18 alanc Exp $ +# $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $ +# +# +# +# +# $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $ + +XORGRELSTRING = `echo 7 7 0 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` + XORGMANNAME = X Version 11 + +STICKY_DEFINES = -DHAS_STICKY_DIR_BIT + +FCHOWN_DEFINES = -DHAS_FCHOWN + +# ----------------------------------------------------------------------- +# X Window System make variables; these need to be coordinated with rules + + XTOP = $(TOP) + BINDIR = /usr/bin + BUILDINCROOT = $(TOP)/exports + BUILDINCDIR = $(BUILDINCROOT)/include + BUILDINCTOP = ../.. + BUILDLIBDIR = $(TOP)/exports/lib + BUILDLIBTOP = ../.. + BUILDBINDIR = $(TOP)/exports/bin + BUILDBINTOP = ../.. + BUILDMODULEDIR = $(BUILDLIBDIR)/modules + BUILDI18NDIR = $(BUILDLIBDIR)/locale + BUILDMODULETOP = $(BUILDLIBTOP)/.. + XBUILDINCROOT = $(XTOP)/exports + XBUILDINCDIR = $(XBUILDINCROOT)/include/X11 + XBUILDINCTOP = ../../.. + XBUILDBINDIR = $(XBUILDINCROOT)/bin + INCDIR = $(INCROOT) + ADMDIR = /usr/adm + LIBDIR = /usr/lib/X11 + SHAREDIR = /usr/share/X11 + LIBEXECDIR = /usr/libexec + MODULEDIR = $(USRLIBDIR)/modules + TOP_X_INCLUDES = + XBINDIR = $(PROJECTROOT)/bin + + INSTSRCDIR = /usr/src + + ETCX11DIR = /etc/X11 + + CONFDIR = $(ETCX11DIR) + + DOCDIR = $(LIBDIR)/doc + DOCHTMLDIR = $(DOCDIR)/html + DOCPSDIR = $(DOCDIR)/PostScript + DOCPDFDIR = $(DOCDIR)/PDF + FONTDIR = ${datarootdir}/fonts/X11 + FONTROOTDIR = ${datarootdir}/fonts/X11 + ENCODINGSDIR = ${FONTROOTDIR}/encodings + XINITDIR = $(LIBDIR)/xinit + XDMDIR = $(LIBDIR)/xdm + XDMVARDIR = $(VARLIBDIR)/xdm + TWMDIR = $(LIBDIR)/twm + XSMDIR = $(LIBDIR)/xsm + NLSDIR = $(LIBDIR)/nls + XLOCALEDIR = $(LIBDIR)/locale + LBXPROXYDIR = $(LIBDIR)/lbxproxy + PROXYMANAGERDIR = $(LIBDIR)/proxymngr + XPRINTDIR = $(LIBDIR)/xserver + XAPPLOADDIR = /etc/X11/app-defaults + FONTCFLAGS = -t + + INSTAPPFLAGS = $(INSTDATFLAGS) + + RGB = $(XBINDIR)/rgb + FONTC = $(XBINDIR)/bdftopcf + MKFONTSCALE = $(XBINDIR)/mkfontscale + MKFONTDIR = $(XBINDIR)/mkfontdir + MKHTMLINDEX = $(XBINDIR)/mkhtmlindex + UCS2ANY = $(XBINDIR)/ucs2any + BDFTRUNCATE = $(XBINDIR)/bdftruncate + UCSMAPPREFIX = $(FONTDIR)/util/map- + XCURSORGEN = $(XBINDIR)/xcursorgen + + HTMLINDEXCMD = HtmlIndexCmd + + DOCUTILSRC = $(XTOP)/doc/util + CLIENTSRC = $(TOP)/clients + DEMOSRC = $(TOP)/demos + XDOCMACROS = $(DOCUTILSRC)/macros.t + XIDXMACROS = $(DOCUTILSRC)/indexmacros.t + PROGRAMSRC = $(TOP)/programs + LIBSRC = $(XTOP)/lib + FONTSRC = $(XTOP)/fonts + ENCODINGSSRC = $(FONTSRC)/encodings + INCLUDESRC = $(BUILDINCROOT)/include + XINCLUDESRC = $(INCLUDESRC)/X11 + SERVERSRC = $(XTOP)/programs/Xserver + CONTRIBSRC = $(XTOP)/../contrib + UNSUPPORTEDSRC = $(XTOP)/unsupported + DOCSRC = $(XTOP)/doc + RGBSRC = $(XTOP)/programs/rgb + BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf + MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir + FONTSERVERSRC = $(PROGRAMSRC)/xfs + FONTINCSRC = $(XTOP)/include/fonts + EXTINCSRC = $(XTOP)/include/extensions + FTSOURCEDIR = FreeTypeSrcDir + DRMSRCDIR = $(TOP)/extras/drm + MESASRCDIR = $(TOP)/extras/Mesa + OGLSAMPLESRCDIR = $(TOP)/extras/ogl-sample + PSWRAPSRC = $(XTOP)/config/pswrap + TRANSCOMMSRC = $(LIBSRC)/xtrans + TRANS_INCLUDES = -I$(TRANSCOMMSRC) + CONNECTION_FLAGS = -DUNIXCONN -DTCPCONN $(STICKY_DEFINES) $(FCHOWN_DEFINES) -DIPv6 +XTRANS_FAILDEFINES = -DFAIL_HARD + + VENDORMANNAME = X.Org + VENDORMANVERSION = `echo 7 7 0 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` + XORGMANDEFS = -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" + VENDORMANDEFS = -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)" + VENDORNAME = The X.Org Foundation + VENDORNAMESHORT = X.Org + + VENDORWEBSUPPORT = http://wiki.X.Org + +VENDORSUPPORTDEFS = -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"' + + XKBDEFRULES = xorg + XKBDEFRULESDEFS = -D__XKBDEFRULES__='"$(XKBDEFRULES)"' + + XCONFIGFILE = xorg.conf + XCONFIGDIR = $(LIBDIR) + XLOGFILE = Xorg + XSERVERNAME = Xorg + + XENVLIBDIR = $(USRLIBDIR) + CLIENTENVSETUP = LD_LIBRARY_PATH=$(XENVLIBDIR) XLOCALEDIR=$(BUILDLIBDIR)/locale + +# $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ +# $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $ + + XLIBSRC = $(LIBSRC)/X11 + +SOXLIBREV = 6.2 +DEPXONLYLIB = +XONLYLIB = -lX11 + +LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln + + DEPXLIBONLY = $(DEPXONLYLIB) + XLIBONLY = $(XONLYLIB) + LINTXONLYLIB = $(LINTXONLY) + + XEXTLIBSRC = $(LIBSRC)/Xext + +SOXEXTREV = 6.4 +DEPEXTENSIONLIB = +EXTENSIONLIB = -lXext + +LINTEXTENSION = $(LINTLIBDIR)/llib-lXext.ln + +LINTEXTENSIONLIB = $(LINTEXTENSION) + DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB) + XLIB = $(EXTENSIONLIB) $(XONLYLIB) + LINTXLIB = $(LINTXONLYLIB) + + XSSLIBSRC = $(LIBSRC)/Xss + +SOXSSREV = 1.0 +DEPXSSLIB = +XSSLIB = -lXss + +LINTXSS = $(LINTLIBDIR)/llib-lXss.ln + + XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc + +SOXXF86MISCREV = 1.1 +DEPXXF86MISCLIB = +XXF86MISCLIB = -lXxf86misc + +LINTXXF86MISC = $(LINTLIBDIR)/llib-lXxf86misc.ln + + XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm + +SOXXF86VMREV = 1.0 +DEPXXF86VMLIB = +XXF86VMLIB = -lXxf86vm + +LINTXXF86VM = $(LINTLIBDIR)/llib-lXxf86vm.ln + + XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga + +SOXXF86DGAREV = 1.0 +DEPXXF86DGALIB = +XXF86DGALIB = -lXxf86dga + +LINTXXF86DGA = $(LINTLIBDIR)/llib-lXxf86dga.ln + + XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush + +SOXXF86RUSHREV = 1.0 +DEPXXF86RUSHLIB = +XXF86RUSHLIB = -lXxf86rush + +LINTXXF86RUSH = $(LINTLIBDIR)/llib-lXxf86rush.ln + + XVLIBSRC = $(LIBSRC)/Xv + +SOXVREV = 1.0 +DEPXVLIB = +XVLIB = -lXv + +LINTXV = $(LINTLIBDIR)/llib-lXv.ln + + XVMCLIBSRC = $(LIBSRC)/XvMC + +SOXVMCREV = 1.0 +DEPXVMCLIB = +XVMCLIB = -lXvMC + +LINTXVMC = $(LINTLIBDIR)/llib-lXvMC.ln + + XINERAMALIBSRC = $(LIBSRC)/Xinerama + +SOXINERAMAREV = 1.0 +DEPXINERAMALIB = +XINERAMALIB = -lXinerama + +LINTXINERAMA = $(LINTLIBDIR)/llib-lXinerama.ln + + XRESLIBSRC = $(LIBSRC)/XRes + +SOXRESREV = 1.0 +DEPXRESLIB = +XRESLIB = -lXRes + +LINTXRES = $(LINTLIBDIR)/llib-lXRes.ln + + DMXLIBSRC = $(LIBSRC)/dmx + +SODMXREV = 1.0 +DEPDMXLIB = +DMXLIB = -ldmx + +LINTDMX = $(LINTLIBDIR)/llib-ldmx.ln + + DPSLIBSRC = $(LIBSRC)/dps + +DEPDPSLIB = $(USRLIBDIR)/libdps.a +DPSLIB = -ldps + +LINTDPS = $(LINTLIBDIR)/llib-ldps.ln + + DPSTKLIBSRC = $(LIBSRC)/dpstk + +DEPDPSTKLIB = $(USRLIBDIR)/libdpstk.a +DPSTKLIB = -ldpstk + +LINTDPSTK = $(LINTLIBDIR)/llib-ldpstk.ln + + PSRESLIBSRC = $(LIBSRC)/psres + +DEPPSRESLIB = $(USRLIBDIR)/libpsres.a +PSRESLIB = -lpsres + +LINTPSRES = $(LINTLIBDIR)/llib-lpsres.ln + + GLULIBSRC = $(LIBSRC)/GLU + +SOGLUREV = 1.3 +DEPGLULIB = +GLULIB = -lGLU + +LINTGLU = $(LINTLIBDIR)/llib-lGLU.ln + + GLXLIBSRC = $(LIBSRC)/GL + +SOGLREV = 1.2 +DEPGLXLIB = +GLXLIB = -lGL + +LINTGLX = $(LINTLIBDIR)/llib-lGL.ln + + GLWIDGETSRC = $(LIBSRC)/GLw + +DEPGLWLIB = $(USRLIBDIR)/libGLw.a +GLWLIB = -lGLw + +LINTGLW = $(LINTLIBDIR)/llib-lGLw.ln + +XRENDERDIR = /usr +XRENDERLIBDIR = /usr/lib +XRENDERINCDIR = /usr/include +XRENDERLIB = -L$(XRENDERLIBDIR) -lXrender +DEPXRENDERLIB = + +XRENDERINCLUDES = -I$(XRENDERINCDIR) + + XRANDRLIBSRC = $(LIBSRC)/Xrandr + +SOXRANDRREV = 2.0 +DEPXRANDRLIB = +XRANDRLIB = -lXrandr + +LINTXRANDR = $(LINTLIBDIR)/llib-lXrandr.ln + + XFIXESLIBSRC = $(LIBSRC)/Xfixes + +SOXFIXESREV = 3.0 +DEPXFIXESLIB = +XFIXESLIB = -lXfixes + +LINTXFIXES = $(LINTLIBDIR)/llib-lXfixes.ln + + XDAMAGELIBSRC = $(LIBSRC)/Xdamage + +SOXDAMAGEREV = 1.0 +DEPXDAMAGELIB = +XDAMAGELIB = -lXdamage + +LINTXDAMAGE = $(LINTLIBDIR)/llib-lXdamage.ln + +XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite + +SOXCOMPOSITEREV = 1.0 +DEPXCOMPOSITELIB = +XCOMPOSITELIB = -lXcomposite + +LINTXCOMPOSITE = $(LINTLIBDIR)/llib-lXcomposite.ln + +XEVIELIBSRC = $(LIBSRC)/Xevie + +SOXEVIEREV = 1.0 +DEPXEVIELIB = +XEVIELIB = -lXevie + +LINTXEVIE = $(LINTLIBDIR)/llib-lXevie.ln + +XCURSORDIR = /usr +XCURSORLIBDIR = /usr/lib +XCURSORINCDIR = /usr/include +XCURSORLIB = -L$(XCURSORLIBDIR) -lXcursor + +XCURSORINCLUDES=-I$(XCURSORINCDIR) $(XRENDERINCLUDES) + + APPLEWMLIBSRC = $(LIBSRC)/apple + +DEPAPPLEWMLIB = $(USRLIBDIR)/libAppleWM.a +APPLEWMLIB = -lAppleWM + +LINTAPPLEWM = $(LINTLIBDIR)/llib-lAppleWM.ln + + WINDOWSWMLIBSRC = $(LIBSRC)/windows + +DEPWINDOWSWMLIB = $(USRLIBDIR)/libWindowsWM.a +WINDOWSWMLIB = -lWindowsWM + +LINTWINDOWSWM = $(LINTLIBDIR)/llib-lWindowsWM.ln + + XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache + +DEPXFONTCACHELIB = $(USRLIBDIR)/libXfontcache.a +XFONTCACHELIB = -lXfontcache + +LINTXFONTCACHE = $(LINTLIBDIR)/llib-lXfontcache.ln + + XAUTHSRC = $(LIBSRC)/Xau + +SOXAUTHREV = 6.0 +DEPXAUTHLIB = +XAUTHLIB = -lXau + +LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln + + XDMCPLIBSRC = $(LIBSRC)/Xdmcp + +SOXDMCPREV = 6.0 +DEPXDMCPLIB = +XDMCPLIB = -lXdmcp + +LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln + + XMUSRC = $(LIBSRC)/Xmu + +SOXMUREV = 6.2 +DEPXMULIB = +XMULIB = -lXmu + +LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln + + XMUUSRC = $(LIBSRC)/Xmuu + +SOXMUUREV = 1.0 +DEPXMUULIB = +XMUULIB = -lXmuu + +LINTXMUU = $(LINTLIBDIR)/llib-lXmuu.ln + + OLDXLIBSRC = $(LIBSRC)/oldX + +DEPOLDXLIB = $(USRLIBDIR)/liboldX.a +OLDXLIB = -loldX + +LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln + + XPLIBSRC = $(LIBSRC)/Xp + +SOXPREV = 6.2 +DEPXPLIB = +XPLIB = -lXp + +LINTXP = $(LINTLIBDIR)/llib-lXp.ln + + TOOLKITSRC = $(LIBSRC)/Xt + +SOXTREV = 6.0 +DEPXTOOLONLYLIB = +XTOOLONLYLIB = -lXt + +LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln + + DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB) + XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB) + LINTXTOOLLIB = $(LINTXTOOLONLYLIB) + + XALIBSRC = $(LIBSRC)/Xa + +SOXAREV = 1.0 +DEPXALIB = +XALIB = -lXa + +LINTXA = $(LINTLIBDIR)/llib-lXa.ln + + AWIDGETSRC = $(LIBSRC)/Xaw + +SOXAWREV = 8.0 +DEPXAWLIB = +XAWLIB = -lXaw + +LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln + + AWIDGET7SRC = $(LIBSRC)/Xaw7 + +SOXAW7REV = 7.0 +DEPXAW7LIB = +XAW7LIB = -lXaw + +LINTXAW7 = $(LINTLIBDIR)/llib-lXaw.ln + + AWIDGET6SRC = $(LIBSRC)/Xaw6 + +SOXAW6REV = 6.1 +DEPXAW6LIB = +XAW6LIB = -lXaw + +LINTXAW6 = $(LINTLIBDIR)/llib-lXaw.ln + + XILIBSRC = $(LIBSRC)/Xi + +SOXINPUTREV = 6.0 +DEPXILIB = +XILIB = -lXi + +LINTXI = $(LINTLIBDIR)/llib-lXi.ln + + XTESTLIBSRC = $(LIBSRC)/Xtst + +SOXTESTREV = 6.1 +DEPXTESTLIB = +XTESTLIB = -lXtst + +LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln + +DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a +XBSDLIB = -lXbsd + +LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln + + ICESRC = $(LIBSRC)/ICE + +SOICEREV = 6.4 +DEPICELIB = +ICELIB = -lICE + +LINTICE = $(LINTLIBDIR)/llib-lICE.ln + + SMSRC = $(LIBSRC)/SM + +SOSMREV = 6.0 +DEPSMLIB = +SMLIB = -lSM + +LINTSM = $(LINTLIBDIR)/llib-lSM.ln + + XKEYSRC = $(LIBSRC)/Xkey + +SOXKEYREV = 6.0 +DEPXKEYLIB = +XKEYLIB = -lXkey + +LINTXKEY = $(LINTLIBDIR)/llib-lXkey.ln + + FSLIBSRC = $(LIBSRC)/FS + +SOFSREV = 6.0 +DEPFSLIB = +FSLIB = -lFS + +LINTFS = $(LINTLIBDIR)/llib-lFS.ln + + FONTLIBSRC = $(LIBSRC)/font + +DEPFONTLIB = $(USRLIBDIR)/libXfont.a +FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) -lXfont + +LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln +# +DEPXFONTLIB = $(USRLIBDIR)/libXfont.a +XFONTLIB = -lXfont + +LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln + + FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs + +DEPFONTSTUBLIB = $(USRLIBDIR)/libfntstubs.a +FONTSTUBLIB = -lfntstubs + +LINTFONTSTUB = $(LINTLIBDIR)/llib-lfntstubs.ln + DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB) + FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB) + + FONTENCLIBSRC = $(LIBSRC)/fontenc + +DEPXFONTENCLIB = $(USRLIBDIR)/libfontenc.a +XFONTENCLIB = -lfontenc + +LINTXFONTENC = $(LINTLIBDIR)/llib-lfontenc.ln + + XPMLIBSRC = $(LIBSRC)/Xpm + +SOXPMREV = 4.11 +DEPXPMLIB = +XPMLIB = -lXpm + +LINTXPM = $(LINTLIBDIR)/llib-lXpm.ln + +FREETYPE2DIR = /usr +FREETYPE2LIBDIR = /usr/lib +FREETYPE2INCDIR = /usr/include + +FREETYPE2LIB = -lfreetype + +FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config + +FREETYPE2DEFINES = -DFREETYPE2 + + EXPATLIBSRC = $(LIBSRC)/expat + +SOEXPATREV = 0.4 +DEPEXPATLIB = +EXPATLIB = -lexpat + +LINTEXPAT = $(LINTLIBDIR)/llib-lexpat.ln + +EXPATDIR = /usr +EXPATLIBDIR = /usr/lib +EXPATINCDIR = /usr/include + +EXPATINCLUDES = + +EXPATLIB = -lexpat + +EXPATDEFINES = -DEXPAT + +XFTDIR = /usr +XFTLIBDIR = /usr/lib +XFTINCDIR = /usr/include +XFTLIB = -L$(XFTLIBDIR) -lXft + +XFTINCLUDES= -I$(XFTINCDIR) $(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) $(XRENDERINCLUDES) + +FONTCONFIGDIR = /usr +FONTCONFIGLIBDIR = /usr/lib +FONTCONFIGINCDIR = /usr/include +FONTCONFIGBINDIR = /usr/bin + +FONTCONFIGLIB = -lfontconfig + +FONTCONFIGINCLUDES = + +FCCACHE = $(FONTCONFIGBINDIR)/fc-cache + +FONTCONFIGDEFINES = -DFONTCONFIG + +LIBPNGINCDIR = /usr/include + +LIBPNGINC= + +LIBPNGDIR = /usr +LIBPNGLIBDIR = /usr/lib +LIBPNGINCDIR = /usr/include + +LIBPNGLIB = -lpng + + XKBFILELIBSRC = $(LIBSRC)/xkbfile + +SOXKBFILEREV = 1.0 +DEPXKBFILELIB = +XKBFILELIB = -lxkbfile + +LINTXKBFILE = $(LINTLIBDIR)/llib-lxkbfile.ln + + XKBCOMPCMD = $(XBINDIR)/xkbcomp + + XKBUILIBSRC = $(LIBSRC)/xkbui + +SOXKBUIREV = 1.0 +DEPXKBUILIB = +XKBUILIB = -lxkbui + +LINTXKBUI = $(LINTLIBDIR)/llib-lxkbui.ln + +EXTRAXAWREQS = + +EXTRAXAWCLIENTDEPLIBS = + +EXTRAXAWCLIENTLIBS = + + XTRAPLIBSRC = $(LIBSRC)/XTrap + +SOXTRAPREV = 6.4 +DEPXTRAPLIB = +XTRAPLIB = -lXTrap + +LINTXTRAP = $(LINTLIBDIR)/llib-lXTrap.ln + + DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) + + DEPLIBS1 = $(DEPLIBS) + DEPLIBS2 = $(DEPLIBS) + DEPLIBS3 = $(DEPLIBS) + DEPLIBS4 = $(DEPLIBS) + DEPLIBS5 = $(DEPLIBS) + DEPLIBS6 = $(DEPLIBS) + DEPLIBS7 = $(DEPLIBS) + DEPLIBS8 = $(DEPLIBS) + DEPLIBS9 = $(DEPLIBS) + DEPLIBS10 = $(DEPLIBS) + + XFTPRELOADPATTERN = libXft.so.? + XRENDERPRELOADPATTERN = libXrender.so.? + XFONTPRELOADPATTERN = libXfont*.so.? + +XMULIBONLY = -lXmu +XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB) + + CONFIGDIR = $(LIBDIR)/config + + USRLIBDIRPATH = $(USRLIBDIR) + LDPRELIBS = $(INSTALLED_LIBS) + LDPOSTLIBS = + TOP_INCLUDES = $(TOP_X_INCLUDES) + PROJECT_DEFINES = + VENDOR_DEFINES = -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"' + +CXXPROJECT_DEFINES = + +# ---------------------------------------------------------------------- +# start of Imakefile + +# Cannot compile in using Gcc +# CC = cc + +// SYS_LIBRARIES = -lm +LOCAL_LIBRARIES = $(XLIB) + DEPLIBS = $(DEPXLIB) + DEFINES = -DSHAPE + + OBJS = CrosshairCursor.o + SRCS = CrosshairCursor.c + + PROGRAM = CrosshairCursor + +all:: CrosshairCursor + +CrosshairCursor: $(OBJS) $(DEPLIBS) + $(RM) $@ + $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) + +install:: CrosshairCursor + @if [ -d $(DESTDIR)$(BINDIR) ]; then \ + set +x; \ + else \ + if [ -h $(DESTDIR)$(BINDIR) ]; then \ + (set -x; rm -f $(DESTDIR)$(BINDIR)); \ + fi; \ + (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); \ + fi + $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) CrosshairCursor $(DESTDIR)$(BINDIR)/CrosshairCursor + +all:: CrosshairCursor.$(MANNEWSUFFIX) + +CrosshairCursor.$(MANNEWSUFFIX): CrosshairCursor.$(MANSRCSUFFIX) + $(RM) $@ + if test -z "$(PREPROCESSMANPAGES)" ; then \ + cd `dirname CrosshairCursor` && \ + $(LN) `basename CrosshairCursor.$(MANSRCSUFFIX)` `basename $@`; \ + else \ + $(RAWCPP) $(MANDEFS) $(EXTRAMANDEFS) \ + < CrosshairCursor.$(MANSRCSUFFIX) | sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/^#line *[0-9][0-9]* *.*$$/d' -e '/^[ ]*XCOMM$$/s/XCOMM/#/' -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' -e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$$/s/\@\@$$/\\/' >$@; \ + fi + +cleandir:: + $(RM) CrosshairCursor.$(MANNEWSUFFIX) + +install.man:: CrosshairCursor.$(MANNEWSUFFIX) + @if [ -d $(DESTDIR)$(MANDIR) ]; then \ + set +x; \ + else \ + if [ -h $(DESTDIR)$(MANDIR) ]; then \ + (set -x; rm -f $(DESTDIR)$(MANDIR)); \ + fi; \ + (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); \ + fi + $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) CrosshairCursor.$(MANNEWSUFFIX) $(DESTDIR)$(MANDIR)/CrosshairCursor.$(MANSUFFIX) + +depend:: + $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) + +lint: + $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) +lint1: + $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) + +cleandir:: + $(RM) CrosshairCursor + +# ---------------------------------------------------------------------- +# common rules for all Makefiles - do not edit + +.c.i: + $(RM) $@ + $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@ + +.SUFFIXES: .ii + +.cc.ii: + $(RM) $@ + $(CC) -E $(CFLAGS) $(_NOOP_) $*.cc > $@ + +.SUFFIXES: .s + +.c.s: + $(RM) $@ + $(CC) -S $(CFLAGS) $(_NOOP_) $*.c + +.cc.s: + $(RM) $@ + $(CC) -S $(CFLAGS) $(_NOOP_) $*.cc + +emptyrule:: + +cleandir:: + $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"* + +Makefile:: + -@if [ -f Makefile ]; then set -x; \ + $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ + else exit 0; fi + $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) + +tags:: + $(TAGS) -w *.[ch] + $(TAGS) -xw *.[ch] > TAGS + +man_keywords:: + +html_index:: + +clean:: cleandir + +distclean:: cleandir + + PREPROCESSMANPAGES = true + +# ---------------------------------------------------------------------- +# empty rules for directories that do not have SUBDIRS - do not edit + +install:: + @echo "install in $(CURRENT_DIR) done" + +install.man:: + @echo "install.man in $(CURRENT_DIR) done" + +install.sdk:: + @echo "install.sdk in $(CURRENT_DIR) done" + +Makefiles:: + +includes:: + +depend:: + +distclean:: + $(RM) Makefile Makefile.dep + +# ---------------------------------------------------------------------- +# dependencies generated by makedepend + diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js index fb8cef29692..3fd65d3716b 100644 --- a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/applet.js @@ -7,7 +7,9 @@ const UUID = "CrosshairCursor@BMarkley"; const USER_DATA_DIR = GLib.get_user_data_dir() const APPLET_DIR = USER_DATA_DIR + "/cinnamon/applets/" + UUID; const CROSSHAIR_SCRIPT = APPLET_DIR + "/CCScript.sh"; -const CROSSHAIR_EXEC = APPLET_DIR + "/CrosshairCursor/CrosshairCursor"; +const CROSSHAIR_DIR = APPLET_DIR + "/CrosshairCursor"; +const CROSSHAIR_COMPILE = CROSSHAIR_DIR + "/Compile.sh"; +const CROSSHAIR_EXEC = CROSSHAIR_DIR + "/CrosshairCursor"; const DEBUG = false; const { timeout_add, @@ -39,6 +41,9 @@ class CrosshairCursorToggle extends Applet.IconApplet { this.orientation = orientation; this.updateIcon(); this._tooltip_ok(); + // compile CrossHairCursor from source + Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_COMPILE}'`); + Util.spawnCommandLine(CROSSHAIR_COMPILE); // make executable the script CrosshairCursor.sh: Util.spawnCommandLine(`/usr/bin/env bash -c 'chmod +x ${CROSSHAIR_SCRIPT}'`); // make executable the CrosshairCursor executable program: From 0b3bb1e7ae2fe75cf4b599a21589a82965973ab8 Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Sat, 18 Apr 2026 02:19:23 -0600 Subject: [PATCH 5/6] applet compiler script now tests for file --- .../CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh index 34aa1515922..72d438fd85d 100644 --- a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh +++ b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/Compile.sh @@ -1,4 +1,7 @@ #!/bin/bash -##compile -cd ~/.local/share/cinnamon/applets/CrosshairCursor@BMarkley/CrosshairCursor/ -make +##compile + +cd CrosshairCursor +if [[ ! -f "CrosshairCursor" ]]; then #if the file doesn't exist + make +fi From 2e0b7731c7abc6c42872c750265b973b784c8c73 Mon Sep 17 00:00:00 2001 From: Brian Markley PENG RSE Date: Tue, 21 Apr 2026 04:04:42 -0600 Subject: [PATCH 6/6] Deleted executable Not needed now that Executable is compiled in constructor. --- .../CrosshairCursor/CrosshairCursor | Bin 54672 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor diff --git a/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor b/CrosshairCursor@BMarkley/files/CrosshairCursor@BMarkley/CrosshairCursor/CrosshairCursor deleted file mode 100644 index 8771dea9a3f9037c8cc6ff1081caaace8b240358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54672 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 U{p8-`@z=d1`M;FLkOs2<2gY!=^8f$<