about summary refs log tree commit diff stats
path: root/draw.c
Commit message (Expand)AuthorAgeFilesLines
* removed crappy variablesAnselm R. Garbe2006-08-281-2/+0
* applied sanders somepatches.patchAnselm R. Garbe2006-08-281-4/+5
* trying a different configurationAnselm R. Garbe2006-08-251-3/+6
* removed small 1px gap, somehow without it things feel betterAnselm R. Garbe2006-08-251-1/+1
* oopsAnselm R. Garbe2006-08-251-1/+1
* fixed typoAnselm R. Garbe2006-08-251-1/+1
* s/TILED/TILE/gAnselm R. Garbe2006-08-251-1/+1
* removed a bunch of lines, made mode symbols configurableAnselm R. Garbe2006-08-251-7/+2
* changed symbols for float/tiled mode, added mouse-driven mode toggle to butto...Anselm R. Garbe2006-08-251-1/+1
* small fix to separate client title from right-most tagAnselm R. Garbe2006-08-251-2/+2
* new color stuff/new rendering stuffAnselm R. Garbe2006-08-251-30/+19
* back to 3 colorsAnselm R. Garbe2006-08-251-24/+23
* fixedAnselm R. Garbe2006-08-241-6/+6
* 3->4 colorsAnselm R. Garbe2006-08-241-13/+7
* found less intrusive wayAnselm R. Garbe2006-08-241-6/+12
* changing tag indicator through underlineAnselm R. Garbe2006-08-241-26/+16
* updated man pageAnselm R. Garbe2006-08-231-49/+47
* implemented right tag drawing in the status bar and titlebarsAnselm R. Garbe2006-08-231-10/+21
* tags appear in the left againAnselm R. Garbe2006-08-231-5/+5
* titlebars contain tags in the right nowAnselm R. Garbe2006-08-221-6/+5
* fixed string cuttingAnselm R.Garbe2006-08-141-6/+6
* fixed string cutting in draw.cAnselm R.Garbe2006-08-141-2/+10
* implemented viewextend and added M-S-C-n shortcuts for extending the current ...Anselm R.Garbe2006-08-111-2/+2
* implement multi-tag selection through button3 click on the specific tagAnselm R.Garbe2006-08-111-2/+2
* simplified drawtextAnselm R.Garbe2006-08-111-21/+14
* applied sumik's multihead patchAnselm R.Garbe2006-08-101-1/+1
* readded border color, this sucks leastAnselm R.Garbe2006-08-101-14/+22
* drawing border with fg colorAnselm R.Garbe2006-08-101-1/+14
* removed unnecessary border colorAnselm R.Garbe2006-08-101-21/+0
* changed signature of drawtextarg@10ksloc.org2006-08-071-12/+10
* status box should have a border in my eyesarg@10ksloc.org2006-08-071-1/+1
* removed TLast tag enum, now tags is simple defined as char *[] array, the res...arg@10ksloc.org2006-08-031-2/+2
* changed Client->tags and Rule->tags to be Bool (I'll also try to remove the T...arg@10ksloc.org2006-08-031-4/+4
* made fullscreen apps working fine in floating mode (there is no sane way to m...arg@10ksloc.org2006-08-021-1/+0
* committed a patch which fixes the hints of Jukkaarg@10ksloc.org2006-08-011-1/+1
* made status bar drawing more robust, implemented togglemax and togglemode, wo...arg@10ksloc.org2006-07-201-7/+6
* cleaned up codearg@10ksloc.org2006-07-201-2/+4
* added heretag command which allows to tag a client of a foreign tag with curr...Anselm R. Garbe2006-07-181-1/+1
* ordered variables in structs and source files alphabeticallyAnselm R. Garbe2006-07-171-2/+2
* fixed XSync handling and finished man pageAnselm R. Garbe2006-07-151-4/+3
* sanitized other stuffAnselm R. Garbe2006-07-151-52/+52
* proceeded with cleaning up, sorting functions, etcAnselm R. Garbe2006-07-151-72/+74
* rearranged several stuffAnselm R. Garbe2006-07-151-13/+24
* sanitized namesAnselm R. Garbe2006-07-141-5/+5
* rearrangedAnselm R. Garbe2006-07-141-1/+66
* removed a bunch of lines through swap removalAnselm R. Garbe2006-07-141-4/+4
* implemented bar for dwm (I miss status text), I plan that status text is read...Anselm R. Garbe2006-07-141-1/+1
* changed default colorsAnselm R. Garbe2006-07-131-51/+38
* added logo+descriptionAnselm R. Garbe2006-07-131-37/+36
* new stuff (some warning elimination)Anselm R. Garbe2006-07-131-14/+13
`. - `threadpool`'s `await` and derivatives have been renamed to `blockUntil` to avoid confusions with `await` from the `async` macro. #### Breaking changes in the compiler - The undocumented ``#? braces`` parsing mode was removed. - The undocumented PHP backend was removed. - The default location of ``nimcache`` for the native code targets was changed. Read [the compiler user guide](https://nim-lang.org/docs/nimc.html#generated-c-code-directory) for more information. ### Library additions - ``re.split`` now also supports the ``maxsplit`` parameter for consistency with ``strutils.split``. - Added ``system.toOpenArray`` in order to support zero-copy slicing operations. This is currently not yet available for the JavaScript target. - Added ``getCurrentDir``, ``findExe``, ``cpDir`` and ``mvDir`` procs to ``nimscript``. - The ``times`` module now supports up to nanosecond time resolution when available. - Added the type ``times.Duration`` for representing fixed durations of time. - Added the proc ``times.convert`` for converting between different time units, e.g days to seconds. - Added the proc ``algorithm.binarySearch[T, K]`` with the ```cmp``` parameter. - Added the proc ``algorithm.upperBound``. - Added inverse hyperbolic functions, ``math.arcsinh``, ``math.arccosh`` and ``math.arctanh`` procs. - Added cotangent, secant and cosecant procs ``math.cot``, ``math.sec`` and ``math.csc``; and their hyperbolic, inverse and inverse hyperbolic functions, ``math.coth``, ``math.sech``, ``math.csch``, ``math.arccot``, ``math.arcsec``, ``math.arccsc``, ``math.arccoth``, ``math.arcsech`` and ``math.arccsch`` procs. - Added the procs ``math.floorMod`` and ``math.floorDiv`` for floor based integer division. - Added the procs ``rationals.`div```, ``rationals.`mod```, ``rationals.floorDiv`` and ``rationals.floorMod`` for rationals. - Added the proc ``math.prod`` for product of elements in openArray. - Added the proc ``parseBinInt`` to parse a binary integer from a string, which returns the value. - ``parseOct`` and ``parseBin`` in parseutils now also support the ``maxLen`` argument similar to ``parseHexInt``. - Added the proc ``flush`` for memory mapped files. - Added the ``MemMapFileStream``. - Added a simple interpreting event parser template ``eventParser`` to the ``pegs`` module. - Added ``macros.copyLineInfo`` to copy lineInfo from other node. - Added ``system.ashr`` an arithmetic right shift for integers. ### Library changes - ``macros.astGenRepr``, ``macros.lispRepr`` and ``macros.treeRepr`` now escapes the content of string literals consistently. - ``macros.NimSym`` and ``macros.NimIdent`` is now deprecated in favor of the more general ``NimNode``. - ``macros.getImpl`` now includes the pragmas of types, instead of omitting them. - ``macros.hasCustomPragma`` and ``macros.getCustomPragmaVal`` now also support ``ref`` and ``ptr`` types, pragmas on types and variant fields. - ``system.SomeReal`` is now called ``SomeFloat`` for consistency and correctness. - ``algorithm.smartBinarySearch`` and ``algorithm.binarySearch`` is now joined in ``binarySearch``. ``smartbinarySearch`` is now deprecated. - The `terminal` module now exports additional procs for generating ANSI color codes as strings. - Added the parameter ``val`` for the ``CritBitTree[int].inc`` proc. - An exception raised from a ``test`` block of ``unittest`` now shows its type in error message. - The ``compiler/nimeval`` API was rewritten to simplify the "compiler as an API". Using the Nim compiler and its VM as a scripting engine has never been easier. See ``tests/compilerapi/tcompilerapi.nim`` for an example of how to use the Nim VM in a native Nim application. - Added the parameter ``val`` for the ``CritBitTree[T].incl`` proc. - The proc ``tgamma`` was renamed to ``gamma``. ``tgamma`` is deprecated. - The ``pegs`` module now exports getters for the fields of its ``Peg`` and ``NonTerminal`` object types. ``Peg``s with child nodes now have the standard ``items`` and ``pairs`` iterators. - The ``accept`` socket procedure defined in the ``net`` module can now accept a nil socket. ### Language additions - Dot calls combined with explicit generic instantiations can now be written as ``x.y[:z]`` which is transformed into ``y[z](x)`` by the parser. - ``func`` is now an alias for ``proc {.noSideEffect.}``. - In order to make ``for`` loops and iterators more flexible to use Nim now supports so called "for-loop macros". See the [manual](manual.html#macros-for-loop-macros) for more details. This feature enables a Python-like generic ``enumerate`` implementation. - Case statements can now be rewritten via macros. See the [manual](manual.html#macros-case-statement-macros) for more information. This feature enables custom pattern matchers. - the `typedesc` special type has been renamed to just `type`. - `static` and `type` are now also modifiers similar to `ref` and `ptr`. They denote the special types `static[T]` and `type[T]`. - Forcing compile-time evaluation with `static` now supports specifying the desired target type (as a concrete type or as a type class) - The `type` operator now supports checking that the supplied expression matches an expected type constraint. ### Language changes - The `importcpp` pragma now allows importing the listed fields of generic C++ types. Support for numeric parameters have also been added through the use of `static[T]` types. (#6415) - Native C++ exceptions can now be imported with `importcpp` pragma. Imported exceptions can be raised and caught just like Nim exceptions. More details in language manual. - ``nil`` for strings/seqs is finally gone. Instead the default value for these is ``"" / @[]``. Use ``--nilseqs:on`` for a transition period. - Accessing the binary zero terminator in Nim's native strings is now invalid. Internally a Nim string still has the trailing zero for zero-copy interoperability with ``cstring``. Compile your code with the new switch ``--laxStrings:on`` if you need a transition period. - The command syntax now supports keyword arguments after the first comma. - Thread-local variables can now be declared inside procs. This implies all the effects of the ``global`` pragma. - Nim now supports the ``except`` clause in the export statement. - Range float types, example ``range[0.0 .. Inf]``. More details in language manual. - The ``{.this.}`` pragma has been deprecated. It never worked within generics and we found the resulting code harder to read than the more explicit ``obj.field`` syntax. - "Memory regions" for pointer types have been deprecated, they were hardly used anywhere. Note that this has **nothing** to do with the ``--gc:regions`` switch of managing memory. - The exception hierarchy was slightly reworked, ``SystemError`` was renamed to ``CatchableError`` and is the new base class for any exception that is guaranteed to be catchable. This change should have minimal impact on most existing Nim code. ### Tool changes - ``jsondoc2`` has been renamed ``jsondoc``, similar to how ``doc2`` was renamed ``doc``. The old ``jsondoc`` can still be invoked with ``jsondoc0``. ### Compiler changes - The VM's instruction count limit was raised to 3 million instructions in order to support more complex computations at compile-time. - Support for hot code reloading has been implemented for the JavaScript target. To use it, compile your code with `--hotCodeReloading:on` and use a helper library such as LiveReload or BrowserSync. - A new compiler option `--cppCompileToNamespace` puts the generated C++ code into the namespace "Nim" in order to avoid naming conflicts with existing C++ code. This is done for all Nim code - internal and exported. - Added ``macros.getProjectPath`` and ``os.putEnv`` procs to Nim's virtual machine. - The ``deadCodeElim`` option is now always turned on and the switch has no effect anymore, but is recognized for backwards compatibility. - ``experimental`` is now a pragma / command line switch that can enable specific language extensions, it is not an all-or-nothing switch anymore. - Nintendo Switch was added as a new platform target. See [the compiler user guide](https://nim-lang.org/docs/nimc.html) for more info. - macros.bindSym now capable to accepts not only literal string or string constant expression. bindSym enhancement make it also can accepts computed string or ident node inside macros / compile time functions / static blocks. Only in templates / regular code it retains it's old behavior. This new feature can be accessed via {.experimental: "dynamicBindSym".} pragma/switch. - On Posix systems the global system wide configuration is now put under ``/etc/nim/nim.cfg``, it used to be ``/etc/nim.cfg``. Usually it does not exist, however. - On Posix systems the user configuration is now looked under ``$XDG_CONFIG_HOME/nim/nim.cfg`` (if ``XDG_CONFIG_HOME`` is not defined, then under ``~/.config/nim/nim.cfg``). It used to be ``$XDG_CONFIG_DIR/nim.cfg`` (and ``~/.config/nim.cfg``). Similarly, on Windows, the user configuration is now looked under ``%APPDATA%/nim/nim.cfg``. This used to be ``%APPDATA%/nim.cfg``. ### Bugfixes