Skip to content

Instantly share code, notes, and snippets.

View gavxin's full-sized avatar

Gavin Xin gavxin

  • 15:03 (UTC +08:00)
View GitHub Profile
@gavxin
gavxin / progress_bar.rs
Created January 24, 2024 14:46
bevy ui simple ProgressBar
use bevy::{ecs::system::Command, prelude::*};
pub struct ProgressBarPlugin;
impl Plugin for ProgressBarPlugin {
fn build(&self, app: &mut App) {
app.register_type::<ProgressBarValues>()
.add_systems(Update, progress_bar_system);
}
}
@gavxin
gavxin / wt.reg
Created July 11, 2022 16:50
add shell shortcut menu for windows terminal
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\background\shell\wt]
@="通过 Windows Terminal 打开"
"Icon"="C:\\Program Files\\WindowsApps\\Microsoft.WindowsTerminal_1.13.11431.0_x64__8wekyb3d8bbwe\\WindowsTerminal.exe"
[HKEY_CLASSES_ROOT\Directory\background\shell\wt\command]
@="wt -d \"%V\""
@gavxin
gavxin / init.lua
Last active June 19, 2023 09:20
neovim config
-- Please place this file to following location
-- ~/.config/nvim/init.lua on Mac, Linux
-- ~/AppData/Local/nvim/init.lua on Windows
--------------------------------------------------------------
-- basic configs
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.expandtab = true
vim.o.tabstop = 2
vim.o.shiftwidth = 2
@gavxin
gavxin / main.cpp
Last active December 4, 2018 15:41
USB storage device plug event detection.
#include <Windows.h>
#include <Dbt.h>
#include "resource.h"
INT_PTR CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam,
LPARAM lParam) {
switch (uMsg) {
case WM_DEVICECHANGE:
PDEV_BROADCAST_HDR pHdr = (PDEV_BROADCAST_HDR)lParam;
switch (pHdr->dbch_devicetype) {
@gavxin
gavxin / batch_compile.bat
Created December 1, 2018 06:07
Abseil-cpp cmake batch complation.
@ECHO OFF
SET VCVARSALL="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
cmd /c compile_one.bat x86 d md
cmd /c compile_one.bat x86 r md
cmd /c compile_one.bat x64 d md
cmd /c compile_one.bat x64 r md
function QueryContract(addr) {
var headers = new Headers();
headers.append('Content-Type', 'application/json')
fetch("https://mainnet.nebulas.io/v1/user/getTransactionByContract", {
method: 'POST',
headers: headers,
body: '{"address":"' + addr + '"}'
}).then(resp => {
return resp.json();
}).then(json => {
@gavxin
gavxin / gist:2c9894a7835cd7848c64b22e3b7fd43e
Last active March 5, 2018 09:04
vs 2017 commandline layout download
vs2017_ent.exe ^
--layout vs2017_ent_layout ^
--add Microsoft.VisualStudio.Workload.NativeDesktop;includeRecommended;includeOptional ^
--add Microsoft.VisualStudio.Component.NuGet ^
--add Microsoft.Component.HelpViewer
@gavxin
gavxin / readme
Created January 23, 2018 13:25
Get latest gn.exe windows binary from google chromium project.
- From chromium source, find `gn.exe.sha1` file and get content of file. You can search at https://cs.chromium.org with `file:gn.exe.sha1` .
- The content is something like `c0d03f78af494365ff38c663297a20fe61da29ea`,
download file from url `https://storage.googleapis.com/chromium-gn/<content of file>`, like
`https://storage.googleapis.com/chromium-gn/c0d03f78af494365ff38c663297a20fe61da29ea` and rename the downloaded file to `gn.exe`
@gavxin
gavxin / Simple version.
Last active June 3, 2018 13:21
VPS set up
# update apt
apt update
apt upgrade
# Enable bbr on Debian 9
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
@gavxin
gavxin / gist:a1a2f87a6c8021c00d1ab32ca390ce57
Created May 15, 2017 09:31
VS QT project when without QT VS plugin, it build all file everytime. Solve this...
1. You may be need config QTDIR into your project. This step makes you can build the project.
My way is create `qt.props` file, and add this props file to every project which using qt.
```xml
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />