{"owner":"hluk","repo":"CopyQ","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"## Commands\n\nAlways use the following environment variables for all `build/copyq` and\n`build/copyq-tests` commands:\n\n    export COPYQ_SESSION_NAME=\"test\"\n    export COPYQ_SETTINGS_PATH=\"build/copyq-test-conf\"\n    export COPYQ_ITEM_DATA_PATH=\"build/copyq-test-data\"\n    export COPYQ_PLUGINS=\"\"\n    export COPYQ_DEFAULT_ICON=\"1\"\n    export COPYQ_SESSION_COLOR=\"#f90\"\n    export COPYQ_THEME_PREFIX=\"$PWD/shared/themes\"\n    export COPYQ_PASSWORD=\"TEST123\"\n    export COPYQ_LOG_LEVEL=\"DEBUG\"\n    export QT_LOGGING_RULES=\"*.debug=true;qt.*.debug=false\"\n    export QT_QPA_PLATFORM=\"xcb\"\n\nRun CMake to configure build:\n\n    cmake -B build -G Ninja \\\n      -DCMAKE_BUILD_TYPE=Debug \\\n      -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \\\n      -DCMAKE_INSTALL_PREFIX=$PWD/build/install \\\n      -DCMAKE_CXX_FLAGS=\"-ggdb -fdiagnostics-color\" \\\n      -DWITH_TESTS=ON \\\n      -DPEDANTIC=ON .\n\nBuild: `cmake -B build --build`\n\nInstall: `cmake -B build --target install`\n\nTests and the app require a running X11 or Wayland session with a window\nmanager. **You MUST start Xvfb and openbox (or a Wayland compositor) before\nrunning any `build/copyq` or `build/copyq-tests` command**, otherwise the\nprocess will crash (exit code 134 or SIGSEGV). X11 setup (once per session):\n\n    Xvfb :99 -screen 0 1280x1024x24 &\n    sleep 1\n    export DISPLAY=:99\n    openbox &\n    sleep 1\n\nThen export `DISPLAY=:99` alongside the other environment variables for every\ncommand. For Wayland, start a compositor and set `QT_QPA_PLATFORM=wayland`\ninstead of `xcb`.\n\nAvoid running all tests, always specify a list of test functions to run.\n\nRun tests after build: `build/copyq-tests $TEST_FUNCTIONS`\n\nRun a specific test by group and tag: `build/copyq-tests \"testCore:configPath\"`\n\nRun all tests for a plugin group: `build/copyq-tests testItemSync`\n\nList test group names: `build/copyq-tests -functions`\n\nList all individual test methods: `build/copyq-tests -datatags`\n\nFilter tests by name substring: `COPYQ_TESTS_FILTER=clipboard build/copyq-tests`\n\nStart the server process: `build/copyq`\n\nIn case any process exits with exit code 11 (SIGSEGV) use `coredumpctl` utility\nto find the root cause.\n\nStop the server process: `build/copyq exit`\n\nList server and client logs (server process does not need to run): `build/copyq logs`\n\nRun a script - requires server to be running:\n\n    build/copyq source script.js\n\n    # the above command is equivalent to\n    build/copyq 'source(\"script.js\")'\n\nScripting API documentation is in @docs/scripting-api.rst. After changing it,\nrun @utils/script_docs_to_cpp.py to update the completion popup in the GUI.\n\nUseful scripts (omit the `tab(...)` call to use the default tab):\n\n- `tab('TAB1'); add('ITEM')` - prepend ITEM text item to the TAB1 tab\n- `tab('TAB1'); size()` - item count in the TAB1 tab\n- `tab('TAB1'); read(0,1,2)` - read items at indexes 0, 1 and 2 in the TAB1 tab\n- `config()` - list configuration options with current value and description\n- `config('check_clipboard', 'false')` - set an option\n\n## Project structure\n\n- @plugins - code for various plugins build as dynamic modules loaded optionally by the app\n- @src - main app code\n- @src/app - wrappers for QCoreApplication object\n- @src/common - common functionality, client/server local socket handling, logging\n- @src/gui - GUI widgets and some helper modules\n- @src/item - tab and item data handling, serialization code\n- @src/platform - platform-specific code\n- @src/scriptable - scripting capabilities\n- @src/tests - tests for the main app\n- @src/ui - Qt widget definition files (XML)\n- @qxt - code to handle global system-wide shortcuts\n"},"files":{"AGENTS.md":"## Commands\n\nAlways use the following environment variables for all `build/copyq` and\n`build/copyq-tests` commands:\n\n    export COPYQ_SESSION_NAME=\"test\"\n    export COPYQ_SETTINGS_PATH=\"build/copyq-test-conf\"\n    export COPYQ_ITEM_DATA_PATH=\"build/copyq-test-data\"\n    export COPYQ_PLUGINS=\"\"\n    export COPYQ_DEFAULT_ICON=\"1\"\n    export COPYQ_SESSION_COLOR=\"#f90\"\n    export COPYQ_THEME_PREFIX=\"$PWD/shared/themes\"\n    export COPYQ_PASSWORD=\"TEST123\"\n    export COPYQ_LOG_LEVEL=\"DEBUG\"\n    export QT_LOGGING_RULES=\"*.debug=true;qt.*.debug=false\"\n    export QT_QPA_PLATFORM=\"xcb\"\n\nRun CMake to configure build:\n\n    cmake -B build -G Ninja \\\n      -DCMAKE_BUILD_TYPE=Debug \\\n      -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \\\n      -DCMAKE_INSTALL_PREFIX=$PWD/build/install \\\n      -DCMAKE_CXX_FLAGS=\"-ggdb -fdiagnostics-color\" \\\n      -DWITH_TESTS=ON \\\n      -DPEDANTIC=ON .\n\nBuild: `cmake -B build --build`\n\nInstall: `cmake -B build --target install`\n\nTests and the app require a running X11 or Wayland session with a window\nmanager. **You MUST start Xvfb and openbox (or a Wayland compositor) before\nrunning any `build/copyq` or `build/copyq-tests` command**, otherwise the\nprocess will crash (exit code 134 or SIGSEGV). X11 setup (once per session):\n\n    Xvfb :99 -screen 0 1280x1024x24 &\n    sleep 1\n    export DISPLAY=:99\n    openbox &\n    sleep 1\n\nThen export `DISPLAY=:99` alongside the other environment variables for every\ncommand. For Wayland, start a compositor and set `QT_QPA_PLATFORM=wayland`\ninstead of `xcb`.\n\nAvoid running all tests, always specify a list of test functions to run.\n\nRun tests after build: `build/copyq-tests $TEST_FUNCTIONS`\n\nRun a specific test by group and tag: `build/copyq-tests \"testCore:configPath\"`\n\nRun all tests for a plugin group: `build/copyq-tests testItemSync`\n\nList test group names: `build/copyq-tests -functions`\n\nList all individual test methods: `build/copyq-tests -datatags`\n\nFilter tests by name substring: `COPYQ_TESTS_FILTER=clipboard build/copyq-tests`\n\nStart the server process: `build/copyq`\n\nIn case any process exits with exit code 11 (SIGSEGV) use `coredumpctl` utility\nto find the root cause.\n\nStop the server process: `build/copyq exit`\n\nList server and client logs (server process does not need to run): `build/copyq logs`\n\nRun a script - requires server to be running:\n\n    build/copyq source script.js\n\n    # the above command is equivalent to\n    build/copyq 'source(\"script.js\")'\n\nScripting API documentation is in @docs/scripting-api.rst. After changing it,\nrun @utils/script_docs_to_cpp.py to update the completion popup in the GUI.\n\nUseful scripts (omit the `tab(...)` call to use the default tab):\n\n- `tab('TAB1'); add('ITEM')` - prepend ITEM text item to the TAB1 tab\n- `tab('TAB1'); size()` - item count in the TAB1 tab\n- `tab('TAB1'); read(0,1,2)` - read items at indexes 0, 1 and 2 in the TAB1 tab\n- `config()` - list configuration options with current value and description\n- `config('check_clipboard', 'false')` - set an option\n\n## Project structure\n\n- @plugins - code for various plugins build as dynamic modules loaded optionally by the app\n- @src - main app code\n- @src/app - wrappers for QCoreApplication object\n- @src/common - common functionality, client/server local socket handling, logging\n- @src/gui - GUI widgets and some helper modules\n- @src/item - tab and item data handling, serialization code\n- @src/platform - platform-specific code\n- @src/scriptable - scripting capabilities\n- @src/tests - tests for the main app\n- @src/ui - Qt widget definition files (XML)\n- @qxt - code to handle global system-wide shortcuts\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"## Commands\n\nAlways use the following environment variables for all `build/copyq` and\n`build/copyq-tests` commands:\n\n    export COPYQ_SESSION_NAME=\"test\"\n    export COPYQ_SETTINGS_PATH=\"build/copyq-test-conf\"\n    export COPYQ_ITEM_DATA_PATH=\"build/copyq-test-data\"\n    export COPYQ_PLUGINS=\"\"\n    export COPYQ_DEFAULT_ICON=\"1\"\n    export COPYQ_SESSION_COLOR=\"#f90\"\n    export COPYQ_THEME_PREFIX=\"$PWD/shared/themes\"\n    export COPYQ_PASSWORD=\"TEST123\"\n    export COPYQ_LOG_LEVEL=\"DEBUG\"\n    export QT_LOGGING_RULES=\"*.debug=true;qt.*.debug=false\"\n    export QT_QPA_PLATFORM=\"xcb\"\n\nRun CMake to configure build:\n\n    cmake -B build -G Ninja \\\n      -DCMAKE_BUILD_TYPE=Debug \\\n      -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \\\n      -DCMAKE_INSTALL_PREFIX=$PWD/build/install \\\n      -DCMAKE_CXX_FLAGS=\"-ggdb -fdiagnostics-color\" \\\n      -DWITH_TESTS=ON \\\n      -DPEDANTIC=ON .\n\nBuild: `cmake -B build --build`\n\nInstall: `cmake -B build --target install`\n\nTests and the app require a running X11 or Wayland session with a window\nmanager. **You MUST start Xvfb and openbox (or a Wayland compositor) before\nrunning any `build/copyq` or `build/copyq-tests` command**, otherwise the\nprocess will crash (exit code 134 or SIGSEGV). X11 setup (once per session):\n\n    Xvfb :99 -screen 0 1280x1024x24 &\n    sleep 1\n    export DISPLAY=:99\n    openbox &\n    sleep 1\n\nThen export `DISPLAY=:99` alongside the other environment variables for every\ncommand. For Wayland, start a compositor and set `QT_QPA_PLATFORM=wayland`\ninstead of `xcb`.\n\nAvoid running all tests, always specify a list of test functions to run.\n\nRun tests after build: `build/copyq-tests $TEST_FUNCTIONS`\n\nRun a specific test by group and tag: `build/copyq-tests \"testCore:configPath\"`\n\nRun all tests for a plugin group: `build/copyq-tests testItemSync`\n\nList test group names: `build/copyq-tests -functions`\n\nList all individual test methods: `build/copyq-tests -datatags`\n\nFilter tests by name substring: `COPYQ_TESTS_FILTER=clipboard build/copyq-tests`\n\nStart the server process: `build/copyq`\n\nIn case any process exits with exit code 11 (SIGSEGV) use `coredumpctl` utility\nto find the root cause.\n\nStop the server process: `build/copyq exit`\n\nList server and client logs (server process does not need to run): `build/copyq logs`\n\nRun a script - requires server to be running:\n\n    build/copyq source script.js\n\n    # the above command is equivalent to\n    build/copyq 'source(\"script.js\")'\n\nScripting API documentation is in @docs/scripting-api.rst. After changing it,\nrun @utils/script_docs_to_cpp.py to update the completion popup in the GUI.\n\nUseful scripts (omit the `tab(...)` call to use the default tab):\n\n- `tab('TAB1'); add('ITEM')` - prepend ITEM text item to the TAB1 tab\n- `tab('TAB1'); size()` - item count in the TAB1 tab\n- `tab('TAB1'); read(0,1,2)` - read items at indexes 0, 1 and 2 in the TAB1 tab\n- `config()` - list configuration options with current value and description\n- `config('check_clipboard', 'false')` - set an option\n\n## Project structure\n\n- @plugins - code for various plugins build as dynamic modules loaded optionally by the app\n- @src - main app code\n- @src/app - wrappers for QCoreApplication object\n- @src/common - common functionality, client/server local socket handling, logging\n- @src/gui - GUI widgets and some helper modules\n- @src/item - tab and item data handling, serialization code\n- @src/platform - platform-specific code\n- @src/scriptable - scripting capabilities\n- @src/tests - tests for the main app\n- @src/ui - Qt widget definition files (XML)\n- @qxt - code to handle global system-wide shortcuts\n","category":"root","tokens":900}]}