[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6115":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":15,"starSnapshotCount":15,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},6115,"glfw","glfw\u002Fglfw","A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input","https:\u002F\u002Fwww.glfw.org",null,"C",15078,5893,374,586,0,23,102,5,45,"zlib License",false,"master",true,[25,26,27,28,29,30,31,32],"c","linux","macos","opengl","opengl-es","unix","vulkan","windows","2026-06-12 02:01:16","# GLFW\n\n[![Build status](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Factions)\n[![Build status](https:\u002F\u002Fci.appveyor.com\u002Fapi\u002Fprojects\u002Fstatus\u002F0kf0ct9831i5l6sp\u002Fbranch\u002Fmaster?svg=true)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002Felmindreda\u002Fglfw)\n\n## Introduction\n\nGLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan\napplication development.  It provides a simple, platform-independent API for\ncreating windows, contexts and surfaces, reading input, handling events, etc.\n\nGLFW is written primarily in C99, with parts of macOS support being written in\nObjective-C.\n\nGLFW supports Windows, macOS and Linux, and also works on many other Unix-like\nsystems.  On Linux both Wayland and X11 are supported.\n\nGLFW is licensed under the [zlib\u002Flibpng\nlicense](https:\u002F\u002Fwww.glfw.org\u002Flicense.html).\n\nYou can [download](https:\u002F\u002Fwww.glfw.org\u002Fdownload.html) the latest stable release\nas source or Windows and macOS binaries.  There are [release\ntags](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Freleases) with source and binary archives\nattached for every version since 3.0.\n\nThe [documentation](https:\u002F\u002Fwww.glfw.org\u002Fdocs\u002Flatest\u002F) is available online and is\nalso included in source and binary archives, except those generated\nautomatically by Github.  The documentation contains guides, a tutorial and the\nAPI reference.  The [release\nnotes](https:\u002F\u002Fwww.glfw.org\u002Fdocs\u002Flatest\u002Fnews.html) list the new features,\ncaveats and deprecations in the latest release.  The [version\nhistory](https:\u002F\u002Fwww.glfw.org\u002Fchangelog.html) lists every user-visible change\nfor every release.\n\nGLFW exists because of the contributions of [many people](CONTRIBUTORS.md)\naround the world, whether by reporting bugs, providing community support, adding\nfeatures, reviewing or testing code, debugging, proofreading docs, suggesting\nfeatures or fixing bugs.\n\n\n## System requirements\n\nGLFW supports Windows 7 and later and macOS 10.11 and later.  On GNOME Wayland,\nwindow decorations will be very basic unless the\n[libdecor](https:\u002F\u002Fgitlab.freedesktop.org\u002Flibdecor\u002Flibdecor) package is\ninstalled.  Linux and other Unix-like systems running X11 are supported even\nwithout a desktop environment or modern extensions, although some features\nrequire a clipboard manager or a modern window manager.\n\nSee the [compatibility guide](https:\u002F\u002Fwww.glfw.org\u002Fdocs\u002Flatest\u002Fcompat.html)\nfor more detailed information.\n\n\n## Compiling GLFW\n\nGLFW supports compilation with Visual C++ (2013 and later), GCC and Clang.  Both\nClang-CL and MinGW-w64 are supported.  Other C99 compilers will likely also\nwork, but this is not regularly tested.\n\nThere are [pre-compiled binaries](https:\u002F\u002Fwww.glfw.org\u002Fdownload.html)\navailable for Windows and macOS.\n\nGLFW itself needs only CMake and the headers and libraries for your operating\nsystem and window system.  No other SDKs are required.\n\nSee the [compilation guide](https:\u002F\u002Fwww.glfw.org\u002Fdocs\u002Flatest\u002Fcompile.html) for\nmore information about compiling GLFW and the exact dependencies required for\neach window system.\n\nThe examples and test programs depend on a number of tiny libraries.  These are\nbundled in the `deps\u002F` directory.  The repository has no submodules.\n\n - [getopt\\_port](https:\u002F\u002Fgithub.com\u002Fkimgr\u002Fgetopt_port\u002F) for examples\n   with command-line options\n - [TinyCThread](https:\u002F\u002Fgithub.com\u002Ftinycthread\u002Ftinycthread) for threaded\n   examples\n - [glad2](https:\u002F\u002Fgithub.com\u002FDav1dde\u002Fglad) for loading OpenGL and Vulkan\n   functions\n - [linmath.h](https:\u002F\u002Fgithub.com\u002Fdatenwolf\u002Flinmath.h) for linear algebra in\n   examples\n - [Nuklear](https:\u002F\u002Fgithub.com\u002FImmediate-Mode-UI\u002FNuklear) for test and example UI\n - [stb\\_image\\_write](https:\u002F\u002Fgithub.com\u002Fnothings\u002Fstb) for writing images to disk\n\nThe documentation is generated with [Doxygen](https:\u002F\u002Fdoxygen.org\u002F) when the\nlibrary is built, provided CMake could find a sufficiently new version of it\nduring configuration.\n\n\n## Using GLFW\n\nSee the [HTML documentation](https:\u002F\u002Fwww.glfw.org\u002Fdocs\u002Flatest\u002F) for a tutorial,\nguides and the API reference.\n\n\n## Contributing to GLFW\n\nSee the [contribution\nguide](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Fblob\u002Fmaster\u002Fdocs\u002FCONTRIBUTING.md) for\nmore information.\n\nThe `master` branch is the stable integration branch and _should_ always compile\nand run on all supported platforms.  Details of a newly added feature,\nincluding the public API, may change until it has been included in a release.\n\nThe `latest` branch is equivalent to the [highest numbered](https:\u002F\u002Fsemver.org\u002F)\nrelease, although it may not always point to the same commit as the tag for that\nrelease.\n\nThe `ci` branch is used to trigger continuous integration jobs for code under\ntesting and should never be relied on for any purpose.\n\n\n## Reporting bugs\n\nBugs are reported to our [issue tracker](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Fissues).\nPlease check the [contribution\nguide](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Fblob\u002Fmaster\u002Fdocs\u002FCONTRIBUTING.md) for\ninformation on what to include when reporting a bug.\n\n\n## Changelog since 3.4\n\n - Added `GLFW_UNLIMITED_MOUSE_BUTTONS` input mode that allows mouse buttons beyond\n   the limit of the mouse button tokens to be reported (#2423)\n - Added `glfwGetEGLConfig` function to query the `EGLConfig` of a window (#2045)\n - Added `glfwGetGLXFBConfig` function to query the `GLXFBConfig` of a window (#1925)\n - Updated minimum CMake version to 3.16 (#2541)\n - Removed support for building with original MinGW (#2540)\n - [Win32] Removed support for Windows XP and Vista (#2505)\n - [Cocoa] Added `QuartzCore` framework as link-time dependency\n - [Cocoa] Removed support for OS X 10.10 Yosemite and earlier (#2506)\n - [Wayland] Bugfix: The fractional scaling related objects were not destroyed\n - [Wayland] Bugfix: `glfwInit` would segfault on compositor with no seat (#2517)\n - [Wayland] Bugfix: A drag entering a non-GLFW surface could cause a segfault\n - [Wayland] Bugfix: Ignore key repeat events when no window has keyboard focus (#2727)\n - [Wayland] Bugfix: Reset key repeat timer when window destroyed (#2741,#2727)\n - [Wayland] Bugfix: Memory would leak if reading a data offer failed midway\n - [Wayland] Bugfix: Retrieved cursor position would be incorrect when hovering over\n                     fallback decorations\n - [Wayland] Bugfix: Fallback decorations would report scroll events\n - [Wayland] Bugfix: Keyboard repeat events halted when any key is released (#2568)\n - [Wayland] Bugfix: Fallback decorations would show menu at wrong position\n - [Wayland] Bugfix: The cursor was not updated when clicking through from\n   a modal to a fallback decoration\n - [Wayland] Bugfix: The cursor position was not updated when clicking through\n   from a modal to the content area\n - [Wayland] Bugfix: free modules at end of terminate function to resolve\n   potential segmentation fault (#2744)\n - [Wayland] Bugfix: Confining or disabling the cursor could segfault on\n   compositors without `pointer-constraints-unstable-v1`\n - [Wayland] Bugfix: Key repeat did not function on very old compositors\n - [Wayland] Bugfix: The `libwayland-client` library was not unloaded at termination\n - [Wayland] Bugfix: Scroll events were sent twice on some versions of GNOME (#2494)\n - [Wayland] Bugfix: Two-dimensional scroll input was emitted as separate axes\n - [Wayland] Bugfix: Mouse wheel scroll distance was incorrect on some compositors\n - [Wayland] Bugfix: `glfwSwapBuffers` would halt with nonzero swap interval when window\n   was suspended (#1350,#2582,#2640,#2719,#2723,#2800,#2827)\n - [Wayland] Bugfix: `glfwPostEmptyEvent` would leak a callback proxy (#2836)\n - [Wayland] Bugfix: `glfwHideWindow` did not always send its request immediately\n - [X11] Bugfix: Running without a WM could trigger an assert (#2593,#2601,#2631)\n - [X11] Bugfix: Occasional crash when an idle display awakes (#2766) \n - [X11] Bugfix: Prevent BadWindow when creating small windows with a content scale\n   less than 1 (#2754)\n - [X11] Bugfix: Clamp width and height to >= 1 to prevent BadValue error and app exit\n - [X11] Bugfix: Floating windows silently became non-floating when hidden (#2276)\n - [X11] Bugfix: The `libXext` library was not unloaded at termination\n - [Linux] Bugfix: The header for `ioctl` was only implicitly included (#2778)\n - [Null] Added Vulkan 'window' surface creation via `VK_EXT_headless_surface`\n - [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless`\n - [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to\n   `GLFW_NATIVE_CONTEXT_API` (#2518)\n\n\n## Contact\n\nOn [glfw.org](https:\u002F\u002Fwww.glfw.org\u002F) you can find the latest version of GLFW, as\nwell as news, documentation and other information about the project.\n\nIf you have questions related to the use of GLFW, we have a\n[forum](https:\u002F\u002Fdiscourse.glfw.org\u002F).\n\nIf you have a bug to report, a patch to submit or a feature you'd like to\nrequest, please file it in the\n[issue tracker](https:\u002F\u002Fgithub.com\u002Fglfw\u002Fglfw\u002Fissues) on GitHub.\n\nFinally, if you're interested in helping out with the development of GLFW or\nporting it to your favorite platform, join us on the forum or GitHub.\n\n","GLFW是一个开源的跨平台库，用于OpenGL、OpenGL ES和Vulkan应用程序开发。它提供了一个简单且与平台无关的API，支持创建窗口、上下文及表面、读取输入、处理事件等功能。该项目主要使用C99编写，部分macOS支持代码采用Objective-C。GLFW适用于Windows、macOS、Linux以及许多其他类Unix系统，并在Linux上同时支持Wayland和X11。此库非常适合需要跨多个操作系统开发图形密集型应用或游戏的开发者使用。",2,"2026-06-11 03:05:43","top_language"]