A fast-searching and space-saving browser specially designed for programmers.

Overview

Programmer Browser

A fast-searching and space-saving browser specially designed for programmers.

Support Us

If you like our project, do not forget to give stars. So we can get more attention and get more support from the community. Don't underestimate one star, one star you give will convince others to give the project another star.

👼 Developer Advice

For a more comfortable use, I recommend that you take advantage of your operating system's ability to add shortcuts to the keyboard. With this feature, you can open and close the browser more easily.

💡 Feature Request

If there is a feature you need, please let me know by opening an issue. I will try to add this feature as soon as possible. But if you want, you can add the feature you want and contribute to the project.

💪 Motivation

Hello, I am a programmer. And I need to speed dial while writing code. That's why standard browsers don't do much for me. My goal in this project is to create a useful browser that allows quick searches for programmers like me.

🖥️ Screenshots

pb-2

pb-3

Programmer Browser Video

⌨️ Shortucts

Shortcut Name Shortcut Keys Example
Full Screen F11
Change Search Engine Ctrl + E
Navigating between tabs Ctrl + (index) Ctrl + 1 => Open First Tab
Window Move Left Ctrl + Left Arrow
Window Move Right Ctrl + Right Arrow

🎉 Roadmap

  • Collapses

  • AdBlock

  • Mute Collapse Audio

  • Keyboard Shortcuts (Search/Control) (VIM/Emacs)

    • Change Search Engine
    • Navigating between tabs
    • Close Tab
    • Close All Tab
    • Previous Page
    • Next Page
  • Create Categories

  • Context Menu (Cut/Copy/Paste)

  • Set Tab Color

  • Refresh Collapse

  • Add Electron Updater

🔮 Usage

In the project directory, you can run:

npm install (for first running)
npm start

Build Browser

npm run package --linux
npm run package --mac
npm run package --windows

How to Install .deb File

Programmer Browser Video

🤝 Contribute

Coming soon.

Comments
  • Merge broke current build. Button cannot appear as a descendant of button. Collapse not working.

    Merge broke current build. Button cannot appear as a descendant of button. Collapse not working.

    Prerequisites

    • [x] Using npm
    • [x] Using an up-to-date [main branch]
    • [x] Using latest version of devtools. [Check the docs for how to update]
    • [x] Tried solutions mentioned in [#400]
    • [X] For issue in production release, add devtools output of DEBUG_PROD=true npm run build && npm start

    validateDOMNesting(...):

    Expected Behavior

    Tab throws error when search is executed. After that, the tab fails to collapse.

    Current Behavior

    Steps to Reproduce

    1. Run app with DEBUG=true

    2.execute a search

    1. exception thrown

    Possible Solution (Not obligatory)

    Context

    Your Environment

    • Node version : 16.2.0
    • Operating System and version : Ubuntu 20.04
    bug 
    opened by adammpkins 5
  • Current commit fails to build, claims to need WINE

    Current commit fails to build, claims to need WINE

    Prerequisites

    • [x] Using npm
    • [x] Using an up-to-date [main branch]
    • [x] Using latest version of devtools. [Check the docs for how to update]
    • [x] Tried solutions mentioned in [#400]
    • [x] For issue in production release, add devtools output of DEBUG_PROD=true npm run build && npm start

    Expected Behavior

    ran npm run package --linux

    Application should build.

    Current Behavior

    npm run package --linux  19:38  07.06.22 

    package ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish always --win --linux

    build concurrently "npm run build:main" "npm run build:renderer"

    [1] [1] > build:renderer [1] > cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts [1] [0] [0] > build:main [0] > cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts [0] [0] npm run build:main exited with code 0 [1] npm run build:renderer exited with code 0 • electron-builder version=23.0.3 os=5.13.0-44-generic • loaded configuration file=package.json ("build" field) • writing effective config file=release/build/builder-effective-config.yaml • installing production dependencies platform=linux arch=x64 appDir=/home/adammpkins/programmer-browser/release/app • packaging platform=linux arch=x64 electron=18.3.0 appOutDir=release/build/linux-unpacked • building target=AppImage arch=x64 file=release/build/ProgrammerBrowser-0.1.8.AppImage • installing production dependencies platform=win32 arch=x64 appDir=/home/adammpkins/programmer-browser/release/app • packaging platform=win32 arch=x64 electron=18.3.0 appOutDir=release/build/win-unpacked • downloading url=https://github.com/electron/electron/releases/download/v18.3.0/electron-v18.3.0-win32-x64.zip size=89 MB parts=8 • downloaded url=https://github.com/electron/electron/releases/download/v18.3.0/electron-v18.3.0-win32-x64.zip duration=2.457s • downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z size=5.6 MB parts=1 • downloaded url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z duration=737ms ⨯ wine is required, please see https://electron.build/multi-platform-build#linux
    ⨯ /home/adammpkins/programmer-browser/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 failedTask=build stackTrace=Error: /home/adammpkins/programmer-browser/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 at ChildProcess. (/home/adammpkins/programmer-browser/node_modules/builder-util/src/util.ts:250:14) at Object.onceWrapper (node:events:472:26) at ChildProcess.emit (node:events:365:28) at maybeClose (node:internal/child_process:1067:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) From previous event: at processImmediate (node:internal/timers:464:21) From previous event: at WinPackager.signApp (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/winPackager.ts:376:27) at WinPackager.doSignAfterPack (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/platformPackager.ts:329:16) at WinPackager.doPack (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/platformPackager.ts:314:7) at WinPackager.pack (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/platformPackager.ts:136:5) at Packager.doBuild (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/packager.ts:441:9) at Object.executeFinally (/home/adammpkins/programmer-browser/node_modules/builder-util/src/promise.ts:12:14) at Packager._build (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/packager.ts:376:31) at Packager.build (/home/adammpkins/programmer-browser/node_modules/app-builder-lib/src/packager.ts:337:12) at Object.executeFinally (/home/adammpkins/programmer-browser/node_modules/builder-util/src/promise.ts:12:14)

    Steps to Reproduce

    1.Pull the latest commit.

    1. Run npm run package --linux

    3.Exceptions

    Possible Solution (Not obligatory)

    Context

    Your Environment

    • Node version : 16.2.0
    • Operating System and version : Ubuntu 20.04
    bug question 
    opened by adammpkins 3
  • typo in identifier: Positoner

    typo in identifier: Positoner

    There's a typo: Positoner instead of Positioner https://github.com/yessGlory17/programmer-browser/blob/e2e4e3accef4364a10a8195ac358424c28b29d68/src/main/main.ts#L17

    import Positoner from 'electron-positioner';
    // ...
    positioner = new Positoner(mainWindow);
    
    bug 
    opened by hex13 3
  • With multiple tabs open, bottom tab has no screen real estate to browse.

    With multiple tabs open, bottom tab has no screen real estate to browse.

    Prerequisites

    • [x ] Using npm
    • [ x] Using an up-to-date [main branch]
    • [x ] Using latest version of devtools. [Check the docs for how to update]
    • [ x] Tried solutions mentioned in [#400]
    • [ x] For issue in production release, add devtools output of DEBUG_PROD=true npm run build && npm start

    Expected Behavior

    Current Behavior

    With 5+ tabs open, the bottom tab has no space for the browser.

    Steps to Reproduce

    1.Open 7 tabs

    2.Open one more

    3.No space to browse effectively

    Possible Solution (Not obligatory)

    When a tab is expanded, it could temporarily shift into the top tab position, allowing the full height of the screen to be used for browsing regardless of tab position.

    Context

    Your Environment

    • Node version :
    • Operating System and version :
    bug 
    opened by adammpkins 3
  • Alpha Features

    Alpha Features

    That is pretty slick. Looks like it is set by default to always be on top, which is awesome for its use case. Having a keyboard shortcut to trigger it would be a great addition, and being able to customize the window location would be really awesome too.

    enhancement 
    opened by yessGlory17 2
  • Dark Mode

    Dark Mode

    I'm not sure how the adblock is done but I assume it's some integration of ublock, so why not have a similar integration with Dark Reader? It'd allow for the programmer browser to be dark mod anywhere so I don't have to look at a Dark Mode IDE and a light mode browser at the same time.

    enhancement 
    opened by CorneliusCornbread 1
  • Fix Typings

    Fix Typings

    Most of the types were missing. Eslint found more than 150 errors. You probably have a problem with your eslint configuration. I fixed all linter errors.

    opened by burakkaraceylan 1
  • Exception when using the move window left keyboard shortcut

    Exception when using the move window left keyboard shortcut

    Prerequisites

    • [x] Using npm
    • [x] Using an up-to-date [main branch]
    • [x] Using latest version of devtools. [Check the docs for how to update]
    • [x] Tried solutions mentioned in [#400]
    • [x] For issue in production release, add devtools output of DEBUG_PROD=true npm run build && npm start

    Expected Behavior

    When pressing ctrl+left, window should move

    Current Behavior

    When ctrl+left is pressed, exception is thrown

    image

    Steps to Reproduce

    1.Open application

    2.Press ctrl+left

    3.Javascript exception "e.substr" is not a function is thrown

    Possible Solution (Not obligatory)

    Context

    Your Environment

    • Node version : 16.2.0
    • Operating System and version : Ubuntu 20.04
    bug 
    opened by adammpkins 1
  • The docs show a wide screen layout. How do I use that?

    The docs show a wide screen layout. How do I use that?

    Summary

    The docs show a wide screen layout. How do I use that? The docs are sparse and there are no preferences/options menus that I can see. Other than that. Super cool.

    question 
    opened by adammpkins 1
  • Request: Ability to hide to tray and pull up with key combo

    Request: Ability to hide to tray and pull up with key combo

    Hey,

    Love the concept of the browser. I don’t program but this could definitely be a nice addition to a workflow.

    Would you consider adding the feature to hide it to tray and pull it up/hide with a key combo? Kind’ve like fluentsearch. Feel like that would be a nice option to have it hidden in the background for if you want to quickly search something simple and have it up or just to keep the tabs/browser out of the way until you pull it back up.

    thanks for your time and take care!

    enhancement 
    opened by TooSpooky 2
  • Usability enhancements

    Usability enhancements

    Couple suggestions for usability improvements:

    Allow hiding and un-hiding Constantly having the search bar present in the top of my screen is not ideal.
    It should be able to hide (be minimized, whatever) either via shortcut or on losing focus, when not needed, then brought back with a keyboard shortcut.

    Allow repositioning of the search bar Not sure if it's possible and I just didn't figure it out, but I couldn't move the search bar around. It should be reposition-able with an easy click+drag, and save it's position between sessions.

    Settings Should add a settings screen with customization options, startup locations, restore last session, etc.

    enhancement 
    opened by Elec0 1
  • Exit fullscreen

    Exit fullscreen

    Not sure if there's an easy way that I just didn't see, but after hitting F11 to make it fullscreen (with no search result open), the search bar expanded to fill the top of my screen, then I could not get it to minimize again.

    It also didn't let me click through, even though nothing was displayed on most of the screen.

    I had to ALT-F4 to get out of it.

    enhancement 
    opened by Elec0 0
Releases(v0.1.8)
Owner
Özgür
A passionate fullstack developer from Turkey
Özgür
A web application that allows users to book rockets and join selected space missions, Using the SpaceX API.

Space-Travelers-Hub A web application that allow users to book rockets and join selected space missions, Using the SpaceX API. This project was bootst

Rachid Boudaoudi 6 Dec 9, 2021
A web application for a company that provides commercial and scientific space travel services.

Space Traveler's Hub Space Traveler's Hub is a project built with React redux, implemented with Ducks files structure and, React Router to interact be

Ismael Antonio 6 Mar 15, 2022
A web application for a company that provides commercial and scientific space travel services

A web application for a company that provides commercial and scientific space travel services. The application allows users to book rockets and join selected space missions using real live data from the SpaceX API.

Leonardo Albornoz 9 Apr 5, 2022
Space Traveller hub is a web application that works with the real live data from the SpaceX API

Space Traveller hub is a web application that works with the real live data from the SpaceX API. It's a web application for a company that provides commercial and scientific space travel services.

Roland MWEZE 3 Feb 8, 2022
Space Traveler's Hub is a single page web application that fatches rockets, missions from the SpaceX API.

Space Traveler's Hub is a single page web application that fatches rockets, missions from the SpaceX API. Users can book and cancel their reservations for rockets and missions. Application has three pages Rockets/Missions/MY Profile, My Profile page shows the list of reserved rockets and missions.

Ranjeet Singh 14 Oct 20, 2022
This website was designed to allow viewers complete access to all movie and tv series trailers. It was created using React + MUI

Trailer - Time ?? Demo https://trailer-time.netlify.app/ ?? about This project is a simplified front end clone of some movie webside (like Netflix/Hul

null 9 Aug 24, 2022
CEP is a software platform designed for users that want to learn or rapidly prototype using standard A.I. components.

Cortic Edge-computing Platform (CEP) CEP is a software platform designed for users that want to learn or rapidly prototype using standard A.I. compone

Cortic Technology Corp. 137 Jan 1, 2023
📌 A chips input designed for MUI (Material ui) V5

MUI chips input A chips input designed for the React library MUI Installation // with npm npm install mui-chips-input // with yarn yarn add mui-chips

Victor de la Fouchardière 21 Dec 23, 2022
⚛️ Hooks for building fast and extendable tables and datagrids for React

Hooks for building lightweight, fast and extendable datagrids for React Enjoy this library? Try them all! React Query, React Form, React Charts Visit

Tanner Linsley 20.3k Jan 3, 2023
An interactive CLI automation tool 🛠️ for creating react.js and next.js projects most fast and efficiently. ⚛️

An interactive CLI automation tool ??️ for creating react.js and next.js projects most fast and efficiently. ⚛️ About ℹ️ ReexJs CLI is an interactive

Alexis Guzman 27 Apr 12, 2022
A portfolio built in React and NextJS. Simple, clean, and fast.

Personal Portfolio A portfolio built in React and NextJS. Simple, clean and fast. Note: The logo and banner used in the project are my intellectual pr

Vipul Jha 98 Jan 2, 2023
Fast, tiny and solid hooks system for Javascript and Node.js

Uncino ?? Fast, tiny and solid hooks system for Javascript and NodeJS Uncino is italian word for hook Do you know Wordpress hooks system? Uncino is a

Riccardo Tartaglia 201 Dec 7, 2022
Build blazing fast, modern apps and websites with React

Gatsby v3 ⚛️ ?? ?? Fast in every way that matters Gatsby is a free and open source framework based on React that helps developers build blazing fast w

Gatsby 54k Jan 9, 2023
Tweak React components in real time. (Deprecated: use Fast Refresh instead.)

React Hot Loader Tweak React components in real time ⚛️ ⚡️ Watch Dan Abramov's talk on Hot Reloading with Time Travel. Moving towards next step React-

Dan Abramov 12.2k Jan 1, 2023
An example of a fast food ordering app with Ionic React

ionic-fast-food-app An example of a Food Ordering app in Ionic React Included in this Ionic React Template/UI Data fetching from JSON files Global sta

Alan Montgomery 25 Nov 28, 2022
A Minimal Setup & Fast Boilerplate for React.js with Vite.

A Minimal Setup & Fast Boilerplate for React.js with Vite Features ?? Dynamic Pages Routing with react-router-dom from React.js ?? Fast development wi

Muhammad Fauzan 26 Oct 25, 2022
Enable Fast Refresh for remote data in NextJS.

next-remote-refresh Utilize Fast Refresh for remote data in NextJS. ⚠️ This solution relies on undocumented APIs and may break in future NextJS update

Travis Arnold 153 Dec 23, 2022
🦁 <1kb compiler-augmented virtual DOM. It's fast!

English | 中文 <1kb compiler-augmented virtual DOM. It's fast! Current Virtual DOM implementations are inadequate—Ranging from overcomplicated to abando

Aiden Bai 5.5k Jan 5, 2023