All Projects → mafredri → phoenix-config

mafredri / phoenix-config

Licence: MIT License
My personal Phoenix (kasper/phoenix) configuration, written in TypeScript

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to phoenix-config

easy podcasts
Agregador de podcasts y convertidor de audio para cubanos
Stars: ✭ 28 (+7.69%)
Mutual labels:  phoenix
curious messenger
Companion repository for Phoenix LiveView Messenger app by Curiosum.dev. Part 1: https://curiosum.dev/blog/elixir-phoenix-liveview-messenger-part-1?utm_source=github&utm_medium=social, Part 2: https://curiosum.dev/blog/elixir-phoenix-liveview-messenger-part-2?utm_source=github&utm_medium=social, Part 3: https://curiosum.dev/blog/elixir-phoenix-l…
Stars: ✭ 30 (+15.38%)
Mutual labels:  phoenix
petal components
Phoenix Live View Components
Stars: ✭ 138 (+430.77%)
Mutual labels:  phoenix
phoenix oauth2 provider
Get an OAuth 2 provider running in your phoenix with controllers, views and models in just two minutes
Stars: ✭ 72 (+176.92%)
Mutual labels:  phoenix
ecto generator
Generate Ecto schemas from existing database in Phoenix - Elixir
Stars: ✭ 20 (-23.08%)
Mutual labels:  phoenix
Claymore-nodevfee-Linux
The first Linux ETH miner with nodevfee or devfee removed/市面上第一个基于Linux的ETH反抽水软件!
Stars: ✭ 11 (-57.69%)
Mutual labels:  phoenix
phoenix live controller
Controller-style abstraction for building multi-action live views on top of Phoenix.LiveView
Stars: ✭ 31 (+19.23%)
Mutual labels:  phoenix
phoenix bakery
Better compression for your Phoenix assets
Stars: ✭ 25 (-3.85%)
Mutual labels:  phoenix
opensubs.io
💸 Track recurring bills and subscriptions
Stars: ✭ 37 (+42.31%)
Mutual labels:  phoenix
game of life-elixir
An implementation of Conway's Game of Life in Elixir
Stars: ✭ 22 (-15.38%)
Mutual labels:  phoenix
np-flink
flink详细学习实践
Stars: ✭ 26 (+0%)
Mutual labels:  phoenix
tarams
Casting and validating external data and request parameters in Elixir and Phoenix
Stars: ✭ 40 (+53.85%)
Mutual labels:  phoenix
BearNecessities
Multiplayer bear game with Phoenix Live View
Stars: ✭ 19 (-26.92%)
Mutual labels:  phoenix
hadoop-data-ingestion-tool
OLAP and ETL of Big Data
Stars: ✭ 17 (-34.62%)
Mutual labels:  phoenix
accent
Dynamically convert the case of your JSON API keys
Stars: ✭ 27 (+3.85%)
Mutual labels:  phoenix
mishka-cms
MishkaCms an open source and real time API base CMS Powered by Elixir and Phoenix
Stars: ✭ 37 (+42.31%)
Mutual labels:  phoenix
elixir cluster
Distributed Elixir Cluster on Render with libcluster and Mix Releases
Stars: ✭ 15 (-42.31%)
Mutual labels:  phoenix
log viewer
An Web based Log Viewer for Elixir and Phoenix
Stars: ✭ 57 (+119.23%)
Mutual labels:  phoenix
plug rails cookie session store
Rails compatible Plug session store
Stars: ✭ 93 (+257.69%)
Mutual labels:  phoenix
one plus n detector
Elixir library to help you detect 1+n queries in applications using Ecto
Stars: ✭ 20 (-23.08%)
Mutual labels:  phoenix

Phoenix configuration

This is my personal Phoenix configuration, written in TypeScript. I also created typings for it, feel free to use them.

Key bindings

The definition of hyper and hyperShift can be found in src/config.ts.

Basic bindings

  • hyper + Left (Left half of screen)
  • hyper + Right (Right half of screen)
  • hyper + Up (Top half of screen height, keeps current width)
  • hyper + Down (Bottom half of screen height, keeps current width)
  • hyper + Return (Toggle maximize, remembers unmaximized position)
  • hyper + Tab (Jump to next screen whilst keeping relative size and placement)
  • hyper + Delete (Minimize focused window)
  • hyperShift + Left (Move window to left edge of screen)
  • hyperShift + Right (Move window to right edge of screen)
  • hyperShift + Up (Move window to top edge of screen)
  • hyperShift + Down (Move window to bottom edge of screen)
  • hyperShift + Return (Move window to center of screen)
  • hyperShift + Tab (Jump to next screen whilst maintaining current window size)

Use combos of the key bindings to further place the windows:

  • hyper + Left + hyper + Down (Bottom left corner of screen)
  • hyper + Enter + hyper + Up (Top half of screen, full width)

I've optimized the key bindings for my common use-case, showing two windows on one screen and moving windows between screens.

Misc bindings

  • hyper + c (Start coffee timer, defaults to 8 minutes)
  • hyper + + (Increase monitor brightness using external script)
  • hyper + - (Decrease monitor brightness using external script)
  • hyper + Space (Experimental: search for windows, tab to cycle, enter to switch, esc to cancel)
  • § (Show or hide the last used Terminal window)
  • Cmd + § (Cycle between Terminal windows)
  • Cmd + Escape (Cycle between windows of current application, including minimized and windows on a different screen)
  • Cmd + Shift + Escape (Same as Cmd + Escape except in reverse order)
  • Cmd + h (Hides the focused app or all visible apps if held down)

Misc features

  • Switch between Karabiner-Elements profiles when screens change
  • Refresh screen brightness info when screens change (using ddcctl)
  • Support disabling / re-enabling all current keybindings via src/key.ts (used by scanner)

Building

git clone https://github.com/mafredri/phoenix-config.git
cd phoenix-config
yarn install
yarn run build

The TypeScript compiler and Webpack will produce out/phoenix.js that can be used as Phoenix configuration.

For development, yarn start will run Webpack in watch-mode.

Debugging

In a terminal, run:

$ log stream --process Phoenix

Anything logged via logger (import log from './logger';) will show up as human friendly output in the terminal. Phoenix.log can also be used, but it only supports strings, much of the heavy lifting is already done by logger to create a similar experience to console.log in the browser.

You can also read about Attaching to Web Inspector for Debugging in the Phoenix wiki. This gives access to true console.log and ability to use debugger statements in your code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].